setup.py:  The installation process now automatically minifies gateone.js if the slimit module is available.
gateone.py:  Moved the code that creates the cache_dir (if missing) into `ApplicationWebSocket.initialize()` from `get_theme()` (not sure why it wasn't there in the first place).
gateone.py:  Added a new method:  `ApplicationWebSocket.wrap_and_send_js()`.  It's kinda neat:  It will take any JavaScript library and wrap it inside a sandbox; only exporting what would be global variables to whatever variables you like.  So you could load underscore.js inside Gate One as GateOne._ if you so desired (to avoid clobbering an existing version of underscore.js that might already be on the page).
gateone.py:  Changed the `sync_log` messages slightly to make it more clear what's going on.
gateone.js:  Fixed a bug where if you only had one visible application it's `__new__()` method wasn't being automatically called.  Basically, I just made it so that hidden applications don't count when making that determination.
gateone.js:  Fixed a bug where the Ctrl-Alt-W keyboard shortcut wasn't working to close workspaces.
gateone.js:  Changed how the initialization process takes place in order to start moving modules/functions/whatever outside of the main gateone.js and into their own files.  Had to move lots of calls to `GateOne.Net.addAction()` out of init() functions and into the main .js file so they would be ready-to-go before init() functions were called.
gateone.js:  Moved GateOne.Input into its own file (gateone_input.js)
gateone.js:  Removed `GateOne.Utils.hasElementClass()` as it is deprecated by browsers' built-in' `elem.classList.contains()`.
gateone.js:  Moved a bunch of lesser-used functions from gateone.js into their own individual files: gateone_*.js.  These files are sent immediately after the user connects (inside of gateone.py in the `ApplicationWebSocket.open()` method).  This effort has reduced the size of gateone.js from 340K (~124k minified) to 259K (~98k minified).
gateone.js:  Fixed a bug in `GateOne.Utils.removeElement()` where it would throw an exception if asked to remove an element that has already been removed.
gateone.js:  Removed `GateOne.Utils.loadPluginCSS()` as it is no longer used.
gateone.js:  Fixed a bug in `GateOne.Visual.togglePanel()` where it wasn't passing the correct panel to the `trigger()` function when all panels were toggled out at once.
utils.py:  Fixed a minor annoyance with `short_hash()` where it could sometimes generate hashes that started with a dash (-).  This made inspecting files that used these hashes kind of annoying.  From now on if a hash starts with a dash that dash will be replaced with a capital leter A.
terminal.js:  Instead of creating the terminal info icon inside of `GateOne.Terminal.init()` it now calls it each time the "go:new_terminal" event is fired (it already calls that function whenever you switch to a terminal).
app_terminal.py:  Renamed the print stylesheet from default.css to printing.css to give it a more accurate client-side name.