Profile how much time is spent in each tokenizer state
Move ignore_bom out of the get_char hot path

Speedup: about 5-7%
Make exact-errors benchmarks optional

These aren't really supposed to be fast, and they more than double the run time
of the benchmark suite.
wip