Adding support for annotations to the parser

In addition to `parseJavascriptFromFile`, the parsing API now has a `parseJavascriptFromFile'` that accepts a parser to parse annotations at certains parts of the code.

    parseJavascriptFromFile' :: Parser String (Maybe r) r  -> String -> m [Statement (SourceSpan, Maybe r)]

This parsing argument shall return values of type `Maybe r`, where `r` can be anything (e.g. for NanoJS it can be RefType).

At this point, there is only one place for annotation parsing at `parseVarDecl`, but this should be easy to extend. So at the moment you can write:

    var a = /*: { number | v > 0 } */ 1;

by passing along a parser that can parse the expression `{ number | v > 0 }`.

Annotations will be in special comment format, which looks like normal block comments, but have a special character after the `/*`. This is set at  language-ecmascript/src/Language/ECMAScript3/Lexer.hs using the variable `annotChar`. How it's set to `:` (to avoid confusion with the `@` used for NanoJS).