Refactored Lexer to require LexerSource object at init. Fixed mem leak.