Added javascript function as option for substitution

I added a menu right to the flags menu, which changes the modus of the substitution editor (string <> function). If function is used, the function will be parsed as it with `Function.constructor.apply` (the arguments will vary). I hope I resolved all problems like export.

#### Public Changes
- changed: `DocView.substEnabled` is replaced with `DocView.substType` [0: off, 1: string, 2: function]
- added: `SubstFuncMenu`: `.subst` is 1 (string) or 2 (function) => the checked check
- added `SubstFuncLexer`: supports strings with escape characters and the function arguments
- added Token type `nothing` which does - nothing (because in javascript functions white spaces will be ignored)
- added CSS class `subst-func`

This will resolve #64.