gateone.js:  Changed how application `__new__()` methods get called.  Instead of passing an 'appObj' they are simply passed 'settings' (which is nearly the same thing) and the 'where' argument which in most cases will be a new workspace.
gateone.js:  Enhanced `GateOne.Visual.newWorkspace()` so that it will empty the current workspace and return it if it happens to be filled with a New Workspace Workspace.
gateone.js:  Added `GateOne.openApplication(app, settings, where)` which lets you open an application by name, passing it optional settings and a place to put it (where).  Ultimately ends up calling the application's `__new__()` method.
gateone.js:  Fixed a bug in `GateOne.Utils.runPostInit()` where postInit() methods were not being called.  Apparently it's been their for over a year now but I never noticed because nothing used postInit() functions until now.
gateone.py:  Removed the 'icon' attribute from `GOApplication` since that is no longer used.
gateone.py:  Fixed a bug in `ApplicationWebSocket.list_applications()` where it wasn't filtering enabled_applications properly when sending the list to the user.
Bookmarks plugin:  Performed some code cleanup/optimization.
Bookmarks plugin:  Added a new `GateOne.Bookmarks.registerURLHandler()` function that lets plugins register their own protocol handlers.  Also modified `GateOne.Bookmarks.openBookmark()` to use it.
SSH Plugin:  It now registers two protocol handlers ('ssh' and 'telnet') via the aforementioned `registerURLHandler()` function.
SSH Plugin:  Added `GateOne.SSH.connect()` which performs the same action that the `GateOne.Bookmarks.openBookmark()` function used to do.
terminal.js:  Changed `GateOne.Terminal.hideIcons()` and `GateOne.Terminal.showIcons()` so they completely remove and re-create the toolbar icon instead of just hiding it.  This was done to work around a horrific bug in Firefox where if you have an SVG that exists in two locations and you set 'display: none' on one of them the other one will disappear too!