Rewrite lexer to return collected comments and position information
alongside each token.  (This breaks the parser until the parser is
rewritten to accept the new wrapped token type.)