Added lexer class

The lexer class doesn't contain much working code yet, the main addition in this commit is the Lexer.SourceCode class. This class will allow us to use the source code
like an array, without reading everything at once.