async/async.py:  Fixed a typo in some docstrings and comments.
async/async.py:  Added some better exception handling to `_call_complete()`.
core/server.py:  Added `ApplicationWebSocket.set_dimensions()` which is controlled via the 'go:set_dimensions' WebSocket action (sent from the client).  It just sets `self.dimensions` with various information about the client's sizes of things so that server-side applications (like X11) know how big things are at the client so as to size things appropriately.
gateone.js:  Updated `GateOne.Visual.updateDimensions()` so that it sends the 'go:set_dimensions' WebSocket action whenever the user resizes the window (or something calls updateDimensions() explicitly).
gateone.js:  `GateOne.Visual.updateDimensions()` now only triggers the 'go:update_dimensions' event (and the new 'go:set_dimensions' WebSocket action) if dimensions were changed.  Should work a lot more efficiently now (saves bandwidth too).
gateone.js:  The "go:css_loaded" event now includes the 'message' that gets passed to `loadStyleAction()`.
gateone.js:  `GateOne.Visual.init()` now only debounces the call to `GateOne.Visual.updateDimensions()` when attaching to the window's 'resize' event.
gateone.js:  The call to `GateOne.Visual.updateDimensions()` inside of `GateOne.init()` now gets called inside the "go:connection_established" event (to ensure that everything is setup before we try to send updates to the server).
gateone.js:  A bit of code optimization here and there (mostly just replaced the use of ['someattribute'] with .someattribute).
gateone.js:  Made logs of improvements to `GateOne.Visual.dialog()`.  It should work much more efficiently now with certain callbacks only being called *once* when necessary as opposed to every second the mouse moves :)