Home stretch on initial lexer implementation
First working lexer
Add main to run lexer
Add test cases