Process a run of data-state characters all at once, with a bytewise scan

Speeds up tokenizing plain text by 65% to 85%, and real pages by 15% to 20%.

An input of entirely tags gets about 5% slower.
Move util/buffer_queue.rs to tokenizer/
Rework empty buffer handling

Speeds things up by a few percent.
Add a program to run a single benchmark once, for profiling
Add another uncommitted benchmark
Rename util/ascii.rs -> util/str.rs
Reserve a little space in each string buffer when we allocate it

Speeds up real pages by a few percent.
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.
Remove unnecessary clone in tokenizer benchmark