Better ASCII case-insensitive matching.
Simplify number tokens parsing.
Flatten the tokenizer.
Simplify identifier and string parsing
Add source location information to AST nodes.

Not on component values themselves because that’s painful,
but everything that had component values now has
(component value, source location) tuples.