Completely migrated the lexer to continuation-passing style.