YOU CAN NOW SWITCH LOCATIONS ON-THE-FLY!  GUI controls for this feature are forthcoming but at least the API works!  That is, GateOne.Net.setLocation(), GateOne.Terminal.moveTerminalLocation(), and some other related functions.
terminal.js:  GateOne.Terminal.closeTerminal() will now neglect to display a message to the user if the *message* parameter is an empty string or null.
terminal.js:  Added two new functions:  GateOne.Terminal.scrollPageUp() and GateOne.Terminal.scrollPageDown().  They do exactly what you'd think.
app_terminal.py:  Made a minor change to the TerminalApplication.terminals() function:  It now accepts (ignored) args and kwargs.  This is so it can be used inside a "go:" event (as opposed to inside a "terminal:" event).
app_terminal.py:  Attached the TerminalApplication.terminals() function to the "go:set_location" event.  This ensures that the user will immediately view the correct set of terminals if they change locations.
terminal_input.js:  Added support for using Shift-PgUp and Shift-PgDown to scroll up and down in terminals.  Doesn't work properly at the moment because of what I believe to be a browser bug (see below).
gateone.js:  Made some changes to GateOne.Utils.scrollLines() since it doesn't appear to be working properly...  Except I think I've merely stumbled upon a browser bug (Chrome) that is really pissing me off:  If you change the scrollTop value of an element then check the scrollTop value again it will have reset to what it was before you changed it.  WTF?!?  Still testing.