Lexers

Taking a stab at incremental lexers.

- ~~reify tokens with source information~~ Will do this in another PR.
- [x] produce tokens for a grammar incrementally

There are some open questions about how general & automatic this can be made to be, but the intention of this PR is to pave the way for answering those rather than answering them itself.

- Fixes #25.
- Fixes #10.
- Fixes #14.