terminal_input.js:  Made some futile adjustments to IME-based input in a sad attempt to make it work better on mobile browsers.  Now if you switch to certain Android keyboards it's almost usable in Chrome.
gateone.js:  Did a bit of code organization/cleanup.
gateone.js:  LOADS of performance optimizations all over the place.  The way JS is loaded/initialized happens much faster now.  Seriously:  The page load should be as quick as it gets.
gateone.js:  You can now provide "dependencies" in `GOApplication.info` dicts in the form of a list of JavaScript files that must be loaded before the client-side code will call `GateOne.Visual.newWorkspaceWorkspace()`.
gateone.js:  You can now pass functions as dependencies to `GateOne.Base.superSandbox` when wrapping code.  If the function returns `true` it will be assumed that the dependency is met and vice versa.  You can also mix & match strings like, "GateOne.Terminal" with functions like, `function() { return (GateOne.Utils.getNode('.✈icon_grid')); }`.  If a depdendency function raises an exception it will be caught and assumed to have returned `false`.
gateone.js:  Applications can now provide a function as their `__appinfo__.icon` value.  If `GateOne.Visual.newWorkspaceWorkspace()` detects that it is a function it will call it with the application's 'settings' as the only argument.  Whatever is returned will be set as the application square's '✈appicon' innerHTML.
gateone.js:  Fixed a bug with `GateOne.Base.update()` where it could create `__parent__` attributes with circular references.
gateone.js:  Changed how `GateOne.Utils.hideElement()` and `GateOne.Utils.showElement()` work...  They now use the `classList` attribute.
Bookmarks plugin:  Added a mechanism to provide favicon handlers:  `GateOne.Bookmarks.registerIconHandler()`.  Along with this a handler for retrieving favicons for HTTP and HTTPS URLs was also added as a default:  `GateOne.Bookmarks.httpIconHandler()`.
Bookmarks plugin:  Moved the icon to the bottom of the file and moved the SSH icon to the SSH plugin.
SSH plugin:  Added a function that stores the SSH bookmark icon (uses the new registerIconHandler() function):  `GateOne.SSH.bookmarkIconHandler()`.
termio.py:  Fixed an edge case where if you called `Multiplex.terminate()` before the log was created it would throw an AttributeError exception.
terminal.js:  Added lots of conditionals to prevent cosmetic exceptions from showing up in the JS console when you perform certain actions (such as closing terminals as fast as you can).
gateone.py:  Added `self.locations` to `ApplicationWebsocket.__init__()` to lessen the chance of an exception in the event that something closes the WebSocket connection too soon.
golog.py:  The `go_logger()` function now keeps tracks of which logs it has open via the `LOGS` global.  This was added so that gateone.py would know which files to chown if `drop_privileges()` is run.
Playback plugin:  The playback controls will now hide themselves when switching to a workspace that does not contain a terminal.
app_terminal.py:  Reduced the time of the race condition check that looks for the situation where terminals are closing too fast from 1 second to 500ms so you can close terminals pretty quickly if you want without running into the forced 5-second delay.