Improved and refactored lexer.

Lexer was refactored and API has a bit changed.
Lexer now supports "basic" parsing - now keywords and "broken" operator
parsing - this implementation is faster than advanced one.