Initial project structure, TokenType, and TokenTypeBuilder
Some additional tests and work on TokenTypeBuilder
Work on TokenTypeBuilder. Added LexicalCharSequence decorator.

Finished up fluent API for Pattern flags in TokenTypeBuilder.
Created LexicalCharSequence as a decorator on CharSequence to bring back the old subSequence behavior.
- Better performance for lexer-like use-cases.
Implemented the core of the lexer

Additional features remain to be implemented:
- Add position (offset into source input) of token text to Token constructor
- Add line/column of token to Token constructor
- Lexer should ask TokenType if tokens use static vs scanned text
-- Static text is provided by TokenType and should be provided to Token
-- Scanned text is the actual matched input text returned by the ScanResult
- Refactor TokenTypeBuilder.create() into .emit() and .skip()
-- emit() tokens should be emitted by the lexer
-- skip() tokens should be omitted by the lexer
-- Some refactoring of Lexer.next() will also be necessary
Finished implementation of standard features
Added a TO-DO list to keep track of next actions
Added Lexer.isError() and error case tests
Added JavaDoc comments to the Lexer core source files
Added documentation in README.md

Added MathLexer to a new example package
Added TokenTypeBuilder fluent API documentation to README.md