Add 90% of a JSON recognizer.

The resulting AST is not especially useful at this time.