terminal.js:  Added a preference panel item for controlling the new text selection highlight feature.  It sets true/false on GateOne.prefs.highlightSelection,  If true (the default), when you select text in a terminal all other occurrences of that text will be highlighted (controlled via the ✈highlight class in the theme).  Setting to false disables the feature altogether.
Convenience Plugin:  Fixed a bug where links that included IP addresses were being wrongly processed by the IP Address Convenience handler (thingie).  This was causing 'cat somefile.pdf' icons/links to fail if you connected to your Gate One server via IP as opposed to using a hostname.
terminal.py:  Tweaked the FileType() class to include an `is_container` boolean.  This will provide a hint to the binary file capture logic that allows it to operate more efficiently and to more easily differentiate multiple binary files that were `cat` in the same command (e.g. `cat image1.png image2.png`).  This should close issue #287 (https://github.com/liftoff/GateOne/issues/287)
terminal.py:  Tweaked the regular expressions in the JPEGFile() and PNGFile() FileType classes to be less greedy.  Just like the note above, this is to make it so that multiple files can be captured/separated inside a single output stream.  This is also in regards to issue #287.
terminal.py:  Added an `original_file` attribute to the FileType() class for those situations where a file gets modified before being sent to the user but you still want to give the user the option to view/download the original (e.g. images that get resized to fit within the terminal).  If assigned the `original_file` (file object) will be automatically closed when the file in question is no longer visible in the terminal (just like `FileType.file_obj`).
terminal.py:  Modified the HTML output template used by JPEGFile() and PNGFile() FileType classes to wrap images in a link to the original file.  That way the user can just click on the image and it will open up the original in a new window.  Should be a useful feature.
terminal.py:  Changed how inline FileType captures work slightly...  Just changed the order of events a bit (instantiating FileTypes sooner) and added support for a 'helper()' function.  If a FileType has one the helper() will be called whenever `self.capture` gets more data added to it.  This should allow for some complicated file formats (e.g. ones that don't have an end marker) to be supported.  This was necessary to support WAV files (see below).
terminal.py:  Added support for capturing/playing inline WAV files output to stdout in the terminal.  In testing I noticed that there's lots of WAV files out there with incorrect headers (incorrect data length) which is annoying but it still works for the most part for your basic PCM WAVs.
terminal.py:  Started adding support for capturing/playing inline OGG files (audio).  This file format is a bit complicated but it should be possible to capture them propery once I figure out how to correctly determine the length of the last "page" in the file (docs say max 255 segments of 255 bytes each but my test oggs seem to have a smaller segment size than 255 bytes).