Define new Scanner events
Throw away the old Scanner, and define a new public interface
Add the Start and End bitsets
Change the Error event's value to -1
Make Event an implementation of the fmt.Stringer interface
Add a few tests for Event.String
Add Scanner tests for primitive values
Begin implementing the new Scanner's guts
Add support for scanning true/false/null
Fix string scanning test case
Handle whitespace in scanValue
Implement string scanning
Implement array scanning
Prepare scanInString to also handle keys
Add a couple of tests for object scanning
Add support for objects to Scanner
Replace Scanner.pop with Scanner.next
Add the Scanner.delay convenience function
Rename Scanner.scan to Scanner.state
Give Scanner state functions clearer names