Move the main options dict to global_vars.py

This will be improved on the future refactoring for wxPython Phoenix
and VapourSynth
Allow choosing the font used for displaying the error if evaluating the script fails

Color is still hard-coded to red
Add option for offsetting also bookmarks on tab groups

- This doesn't affect 'historic' bookmarks
- Negative bookmarks are deleted
[avisynth] Document that AddFunction won't work with ctypes
Update the video preview when changing a 'YUV -> RGB' option without re-evaluating the script
Allow to preview some stacked or interleaved high bit depth formats

Currently,
yuv420p10le, yuv444p10le, gray10le
yuv420p16le, yuv444p16le, gray16le

video menu -> bit depth

Important: this commit introduces changes needed to display a preview
clip with different resolution than the real one. Some old related code
was removed in 0062a260

Also to note is that the GetVideoWidth and GetVideoHeight macro functions
will still return the original dimensions
Fix automatic matrix selection for YUV -> RGB conversion with high bit-depth

Thanks to tophf
Show an error clip if CreateDisplayClip fails
Split 'basic' tab of 'font and colors' dialog into two
Add setting for styling inside triple-quoted strings

program settings -> text -> style inside triple-quoted strings
Don't throw an exception when right-clicking an autocomplete list
Add functions defined in the script to the database

This allows the functions to be highlighted as user functions, have
a calltip and appear on autocomplete.

- The function definitions are temporarily added to a database only
  used for the script in which they were defined.

- This temporary database is updated on the following cases:
    - automatically when opening the script, reloading it, or
      creating it from another tab
    - by clicking the new option Edit -> AviSynth function -> Parse
      script for function definitions

- A quick way of adding a definition to the general, persistent
  database is to put the cursor at the function name, right-click
  and select AviSynth function -> Show function definition, editing
  it if needed before accepting.

TODO: don't delete slider info when overriding a definition in the
main database with the info from the current script if the parameters
match.
[filter database] Valid values for int parameters can be specified now as a list

e.g. define the argument in the function info editor as:

  int "param" = 2 (2 / 4 / 8 / 16)

The slider editor uses min/max fields for integers unless an int list was
already introduced in the 'arguments' field for that parameter

Related to #25
Autocomplete parameter values

For the types that it makes sense:
- boolean
- integer or string, if there's defined a list of possible values

There's two ways to trigger it:
- with 'autocomplete parameter/filename', if the cursor is placed after
  an equal sign
- automatically after autocompleting a parameter name, with the same menu
  option

Limitations (due to autocomplete parameter name / parameter value / filename
all being currently assigned to the same menu entry):
- only for named optional arguments
- only at the start of the value

Closes #25
Fix exception on autocomplete for blank new tabs

The bug was introduced in 698344f0
Don't throw an exception if 'last' doesn't exist

The issue was caused by a change in behaviour introduced in ultim's
commits (see <http://forum.doom9.org/showthread.php?p=1643908#post1643908>):
previously a variable called 'last' was always defined (but maybe left
initialized).
Prefer VSImport over AVISource when evaluating vpy files

<https://github.com/chikuzen/VapourSource/>

Allows outputing >8-bit color spaces, using stacked format
[avisynth] Correct boolean AVS_Value
Escape fnmatch patterns

See <http://bugs.python.org/issue8402>
Don't assume that $InternalFunctions$ exists

Fix for current avisynth+ git