HUGE CPU REDUCTION IN THIS COMMIT!  See the note below about terminal.py...
app_terminal.py:  Cleaned up `TerminalApplication.get_colors()` a bit (still had some leftovers from before the change to using `render_and_send_css()`).
app_terminal.py:  Fixed a bug in `policy_char_handler()` where you could get a KeyError exception when an attempt was made to write to a terminal that was denied being opened by policy.  Really just a cosmetic issue (didn't hurt anything).
terminal.js:  Modified `GateOne.Terminal.loadTextColors()` so that it no longer bothers to send the 'container', 'prefix', and whatnot.
gateone.py:  The `ApplicationWebSocket.debug()` function now uses its own logger and stores useful information in gateone-debugging.log (at the INFO level).
gateone.py:  Changed the name of the default 'log_file_prefix' from 'webserver.log' to 'gateone.log' to match all the other logs in that directory.
gateone.py:  Added a new classmethod, `ApplicationWebSocket.load_prefs()`.  It just loads Gate One's preferences into `ApplicationWebSocket`.  The important part is that it gets attached to the file watching process (`ApplicationWebSocket.watch_file()`) and will automatically re-load all of Gate One's settings whenever they are changed.  So you won't need to restart gateone.py if you change things like policies (e.g. "max_terms"), API keys, origins, etc.  Changing things like listening address/port will obviously require a restart.
utils.py:  Wrote a new dict class:  `AutoExpireDict`.  It's kind of awesome (if I do say so myself!).  It's a `dict` that automaticaly expires (deleted) it's own keys after a specified *timeout*.  See the docstring for detailed examples of how it works.
utils.py:  Modified the `memoize` decorator to use the new `AutoExpireDict`.  Memoized data will auto-expire after five minutes by default.  This should keep things snappy while also being frugal with memory.
woff_info.py:  The `woff_info()` function is now using the new `memoize()` decorator with a built-in fallback (in case some other app wants to use woff_info.py).
onoff.py:  Added a missing sys import.
Terminal themes:  Minor tweak to make sure the terminal doesn't flip flop having scrollbars/not having scrollbars when you open a new one.
terminal.py:  Replaced the use of `prev_dump`, `prev_dump_rend`, and the `html_cache` with a single, global `HTML_CACHE` variable that not only caches the previous lines (by location) but *all* lines across *all* terminals.  So if a combination line/rendition was ever rendered before it will be served from the cache.  Won't that gobble up memory, you ask?  No!  Because the new `HTML_CACHE` is using my new `AutoExpireDict` (local copy--not from utils.py) which ensures that if a cached line hasn't been used in a while it will automatically remove itself, freeing up memory.  What's *really* great about this mechanism is that it is literally *twice as fast* as the old way.  Considering that the `_spanify_screen()` function is the most CPU-intensive in all of Gate One this should amount to a HUGE improvement overall.  Another bonus:  The `HTML_CACHE` will empty itself completely after a while (5 minutes) of inactivity so idle Gate One sessions won't be stuck eating an entire screen's worth of cached lines and renditions for every terminal that is open.