Adds basic tokenizer implementation

Adds tests for tokenizer.

Implements tokenizer, still needs some refactor steps, but it works.

Updates support files for tokenizer tests.

Updates lexer, adding new method `latest` to get the latest match
without advancing the scanner.

Adds support class for longest common sequence.