Implement textContent property on HTMLNode.

I was looking for the spec that talked about innerText. Turns out there isn't
one. textContent is well defined though, so let's do that.
Fix :empty selector.

It's empty if *all* of the text nodes are empty, not just the first one.
Add -hasClass: and toggleClass: to HTMLElement.

Convenience wrappers around manipulating the class attribute, but they're
common operations.
Mention Benchmarker in README.
Run selectors benchmark a few times to bring out bottlenecks.
Tidy up enumerator tests and commentary.
Be less stupid in tree enumerator.

* Stop walking down the tree on every iteration. (This was a big bottleneck.)
* Cache the child count at each level. (Helps a bit.)
Delete TODO list.

Stuff's not done, I just keep forgetting about this list.