Refactor parts of lexer to handle newlines better and support column tracking in the AST in the future