Use Array.join instead of += to build up strings in the Lexer.
When lexing numbers, look for digits first.
Don't create a string when lexing all-digit integers.