Lexer added

About half of the code is stolen off David. Currently not connected to
any other code. (Like, not included in Controller and stuff)