Refactored lexer comment/whitespace handling