I squashed this massive commit down from, like, 100 commits. Definitely.

https://i.imgur.com/H9lppa6.gif
Initial commit of a lexer replacement
Rename #lex -> #tokenize
Clarify code in lexer; add more tests