Define the Op type
Add a placeholder Scanner implementation
Add a few private Scanner methods
Add the beginnings of a scanning test suite
Implement boolean and null scanning
Rename TestPrimitiveScanning to TestScanner
Add support for number scanning
Add array support to the scanner
Implement string scanning
Scanner should now be feature complete
Fix the scanner's whitespace handling in arrays
Extend scanning test suite
Actually detect top-level syntax errors
Beautification voodoo
Panic on invalid internal scanner states