Optionally emit comments from the lexer and the parser.

The lexer emits comment tokens inline since they don't interfere semantically. In the generated AST they are added to the root node as a "comments" property because they cannot be put directly into the nodes where valid comments might appear. This is similar to how Esprima handles parsed comments in the generated AST.