The standard "main window" of our user interface. This is the game object that represents the default initial HTML page that the player's web browser connects to. We build this out of three base classes:

- WebResourceInit, because this is the starting page that the browser initially connects to. This class does the initial handshaking to set up the session.

- WebResourceResFile, because we store the HTML for the page in a resource file. This class does the work of sending the resource file's contents to the browser.

- WebLayoutWindow, because the default main page is also a layout window, which is basically a container for IFRAME elements where we plug in the sub-windows that make up the game's user interface.

Games can customize the front page in any way they like. If you want to customize the HTML of the main page, you can substitute a different HTML (.htm) file, and change the processName() method to return the name of that file. If you want to use something other than a layout window as the front page, you can simply replace this whole class.

Synthetic event queue. This is a vector of synthetic events, set up in the [type, params...] format that the system inputEvent() function and related functions use. The 'type' code for a synthetic evente is a string instead of the numeric identifier that the system functions use.

Get an input file from the client PC. We'll attempt to upload or download a file from/to the client PC, using a local temporary file for the actual file operations. This is a special form of the input file dialog that we use when we're not connected to a storage server.