Initial work on Lexer

First pass lexer mostly complete
Second pass lexer partially complete