Make parser reusable

Expose each parser as a subclass of `nearley.Parser` rather than an instance, so there's no cruft left over from one run in the next.