Remove leftover debugging statement in test case.
Allow richer return value from `parse`.

Return an object, rather than a straight array of AST values.  This
refactoring will allow us in the future to track which functions
were used (and so what LaTeX packages are required for rendering).
\AA and \textvisiblespace are valid only in text mode.

Move these functions to the other_literals2 list, so they will be
surrounded by \mbox when emitted.
Some functions require arguments.

The \overbrace, \overleftarrow, \overleftrightarrow, \overline,
\overrightarrow, \underbrace, and \underline commands take a single
mandatory argument.  Move \overbrace and \underbrace to the fun_ar1nb
list, since they handle trailing subscripts and superscripts specially.
Move the other functions to the fun_ar1 list.
Only allow \hline at the start of rows in a matrix context.
Move TeX function tables into separate module.

This avoids needing to regenerate them every time the `parse` method is
called.  (However, we still have a `require` inside `parse`, which can
do some disk I/O to resolve the module name.)
Make pegjs a devDependency.

Since we store the generated parser in git, we only need pegjs for
development.