Lexer token arrays + #184

This is useful for returning pseudo tokens like INDENT DEDENT which facilitate semantic whitespace. An example grammar is included.

Alongside an ebnf-parser pull request, this also addresses #184.