gateone.js:  Added a 'focused' event to `GateOne.Visual.dialog()`.
gateone.js:  Added a 'noEsc' option to `GateOne.Visual.dialog()` that will disable the "Hit ESC to close this dialog" feature.
gateone.js:  Added a 'data' option to `GateOne.Visual.dialog()` that lets you assign 'data-<whatever>' attributes to the created dialog.
gateone.js:  Added a 'noTransitions' option to `GateOne.Visual.dialog()` that will disable CSS3 transitions on the dialog.
gateone.js:  If you neglect to pass a *title* to `GateOne.Visual.dialog()` it will not bother drawing the title bar.  You'd better provide an alternate way to close it if this is the case!
gateone.js:  Fixed a minor issue with `GateOne.Visual.disableTransitions()` and `GateOne.Visual.enableTransitions()` where you'd get an exception if the given element(s) did not exist or were removed in the middle of the operation.
gateone.js:  Fixed a bug where `GateOne.Utils.createElement()` was not assigning the 'float' style in Firefox if provided via the `properties` argument.  I also modified that function to use `setProperty()` just to be safe.
gateone_input.js:  Added support for the AltGr (aka altGraph) key as a modifier.
gateone_input.js:  Added support for key "locations" which differentiate the region of the keyboard where a key was pressed.  In theory anyway; browsers only seem to use location 0 (DOM_KEY_LOCATION_STANDARD) and location 3 (DOM_KEY_LOCATION_NUMPAD).  See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_location_constants if you're curious about that.
gateone_input.js:  `GateOne.Input.handleVisibility()` has been moved into gateone.js under `GateOne.Visual` since it has nothing to do with input and it's kind of a core function.
gateone_input.js:  You can now pass 'conditions' in your shortcut object when calling `GateOne.Input.registerShortcut()` or `GateOne.Input.registerGlobalShortcut()`.  See the docstrings for details and examples.  The idea being that one application's keyboard shortcuts shouldn't stomp on another's.
gateone_input.js:  Added an alternate mechanism to handle keystroke events:  `GateOne.Events.trigger('go:keydown:ctrl-alt-delete', <event>)`.  You can now listen for certain keystrokes by simply doing stuff like this: `GateOne.Events.on('go:keydown:shift-p', handleShiftP)`.  This mechanism can be used with global keystrokes (`global:keydown`) as well.  The full list of events:  `global:keydown`, `global:keyup`, `go:keydown`, `go:keyup`.  It is meant to be used for simpler/transient situations where you want to provide keyboard control but don't want to register a zillion shortcuts for up/down/left/right/enter/tab/whatever.
gateone_input.js:  Added `GateOne.Input.onGlobalKeyUp()` which just fires the "global:keyup" event.
utils.py:  Fixed a bug in `AutoExpireDict` where it wasn't creating the `_interval` property automatically if not given initially.
Bookmarks plugin:  Tweaked the way dialogs appear and some CSS-related stuff to make everything look better.
SSH plugin:  Just a few minor tweaks here and there to the appearance of dialogs.
terminal.js:  Just a few minor tweaks here and there to the appearance of dialogs.
terminal.js:  Added `GateOne.Terminal.isActive()` which returns `true` if there's currently an active terminal on the page (i.e. being used by the user).
Themes:  Fixed the mouseover title boxes in the grid view in Firefox.  They now show up centered as they're supposed to.
gateone.py:  Gate One now keeps track of client latency via an every-five-seconds `tornado.ioloop.PeriodicCallback`.  The current average latency of the client can be checked via `ApplicationWebSocket.latency`.