* convert source to a struct and fix minor issue displaying error
* lexer: add byte and char pos
* improve parser to use string instead of []rune
* add lexer benchmarks
* make lexer work as an iterator
* make parser use the new iterator API in lexer
* allow reusing the parser
* cleanup code
* add parser benchmarks
* adds support for common operators for time.Time
* adds eval tests for time operators. updates checker to allow time.Time and time.Duration to be passed to the operator fns.
* allows duration to be the first arg in time addition. updates the checker return types as they were incorrect.
* add ability to compare time to any interface
* adds checker test for time + interface combinations