Improved performance of Tweelexer

Tweelexer now uses a concatenated regex to find tokens instead of just
applying all the regexes to every single character. Also, HTML tags are
now bolded to make their colour more distinct.
Minor Tweelexer bugfixes

Fixed a bug with the macro regex, and made old-style HTML blocks
coloured correctly again.
Selected passage colouring improvements

* Made passage widget dimming work again in fast drawing mode.
* Selected passages now have their link arrows thickened to visually
offset them.
* Changed syntax highlighting for the two-part link syntax: the link
text is now black.
Syntax highlighting for macro params

* Macro parameters are now coloured differently depending on their
apparent type (string, number, boolean/null/undefined, other).
* Toned down the saturation of link colouring.
Made the passage tooltips functional

They now display a preview of passage text (up to 840 characters), like
they always ought to have.
Some tiny bugfixes
Fixed file format backwards-compatibility

The .tws pickle format was broken when I added those cache attributes to
Tiddler in "Minor StoryPanel and PassageWidget optimisations".
Added file drag and drop functionality

Dragging a .tws file into the StoryPanel will open the file. Dragging a
.twee or .html file will attempt to import the file.
Added image drag-and-drop and embedding

* Dragging and dropping an image file into the story map will embed it
- a passage, tagged 'image', containing the file encoded in base64, will
be added. Thus, images can now be saved inside the .tws file and the
compiled HTML.
* Supported image file extensions are GIF, PNG, JPEG, SVG and WebP.
* The [img] syntax has been updated to allow 'image' passages to be
referred to in addition to filenames. This allows embedded images to be
used multiple times in a story, without redundant extra copies being
included.
* Added PassageWidget colouring for 'image' passages.
* Also added an 'Import Image' menu item to the Story Menu.
Embedded image previewing added

* Base64 image passages can now be opened to display the image. The
ImageFrame window currently only shows static images, with no GIF
animation, and large images cropped at 1024x768.
* The ImageFrame window's menu includes 'Replace Image', which can
replace the image with a different file.
* The tag that denotes an image passage is now 'Twine.image' instead of
'image'. This tag can not be given to text passages, nor removed from
image passages.
* Fixed drag-and-drop not working with non-lowercase file extensions.
Added Copy and Paste menu items to image previews

* Pasting an image will naively convert it to PNG. This may produce PNGs
that are far larger than they would be as files, but I'm unwilling to
add a "cutoff point" beyond which the file is changed to a lossy JPEG.
* The tooltip for image passages now lists their rough file size.
Images are now thumbnailed in the story map

Also instantiated an 'images' module to hold base64/bitmap conversion
methods.
Image preview scrollbars, and other fixes

* Added scrollbars to images that allow you to see the full image, and
added the ability to resize the image preview window.

* Added a new colour for story passages which have no outgoing links -
these are usually "dead ends", or snippets which are <<display>>ed.

* Fixed a bug where zero-length tooltips could appear for empty
passages.

* Jonah and Sugarcane: Made it so that raw HTML <a> links in stories are
styled as if they were proper externalLinks, in case the author
unwittingly used the former in ignorance of the latter (a not uncommon
occurence).
Animated GIF image previews

GIF images should now animate in image previews.
Update engine.js

Fixed <<print>> macro so that it doesn't print null or NaN, the previous logic allowed both.
Update header.html

Fixed <<choice>> so that it adds link text, previously it added none and thus was unclickable.
Update header.html

Fixed <<choice>> so that it adds link text, previously it added none and thus was unclickable.
Added "Save Image"

Image passages can be saved as their original files using the "Save
Image" menu option in the image window's menu.
Merge pull request #2 from tmedwards/master

Fixes for <<print>> and <<choice>>
Added "Special Passages" Submenu

* Added a submenu to Story, "Special Passages", which lists the various
info passages (StoryTitle, StoryAuthor etc.) and creates one with
default text if it is chosen.
* Fixed bugs involving the obfuscation setting.
* Creating a new Twine project now creates empty StoryTitle and
StoryAuthor passages in addition to the Start passage.