Improve NodeVisitor documentation.

Still not complete, but it's better.
Add `parse()` and `match()` convenience methods to `NodeVisitor`, and add the concept of a default grammar for a visitor.

This makes the common case of parsing a string and applying exactly one visitor to the AST shorter and simpler.

It is unlikely that a visitor would ever be used with more than one grammar, so I expect all visitors to have an easily chosen default grammar.