Monitor clipboard on a timer

This fixes a crash on exit when using wxPython with the GTK backend.
The Clipboard.IsSupported() method seems to cause the event loop to be
re-entered, but if the frame destroy event is handled by that inner
event loop call, a segfault happens. Since the native part of a timer
is removed when the Python proxy reaches 0 references, this problem
does not occur when the clipboard is accessed from a timer.

Note that when the clipboard cannot be opened, the new code will keep
the paste menu entry in unchanged, while the old code would disable
it. I expect the clipboard failing to open to be a temporary condition
in most cases, so then the new behavior makes more sense.
Improved paste implementation in StoryPanel

The old code would forget to close the clipboard if contained data in
an unsupported format. Also it ignored the return value of GetData().

Also renamed the "format" variable since format() is a built-in
function: while it is rarely used, it does receive syntax highlighting
in my editor like any other built-in name, which is distracting.
Only open clipboard for copying image if there is an image

The old code would open before checking whether the image exists.
Since the check is much cheaper than opening the clipboard, it is
more efficient to check first. Also, the old code would forget to
close the clipboard if the image didn't exist.
Merge pull request #131 from mthuurne/clipboard

Clipboard improvements
"Prompt before exiting" StorySetting

* Added an optional 'exitprompt' StorySetting which, when set, shows a
prompt when the player closes or reloads the story's page in the
browser. This uses window.onbeforeunload, and isn't guaranteed to be
supported in every browser.
* Wikifier.parse: input strings containing variable-like syntax no
longer cause the variable to be defaulted.