Types moved from AST module to their own file.
Alternative lexer definition - monadic, with richer token type and error
handling.
Extracted nextLexeme function.
Cabal file cleaned up - removed few imports no longer in use.
Added parser capable of using monadic lexer. Not actually using it's
"monadicity", though.
Big cleanup - Lexer2/Parser2 become main and only lexers/parsers.
Removed few unused imports.
Renamed LexerDef -> LexerCore.
Removed unused modules.