Make HTMLification of line-spanning tags work. Switch to a slice-based coordinate system.

The slice-based coordinates save code, as it turns out, and make tag balancing easier to get right, as we can just go ahead and yield reopening tags for temporary closers at the same offset as the temp closer. The old indexing scheme didn't like such overlaps of start- and endpoints.

Make html_lines tolerate Lines that aren't outside all the tags on the line. That saves a lot of painful complexity in the tag balancer, all in O(n).
Add annotation support, and integrate the new region resolver back into the rest of the system.

* Make html_lines emit Markup objects.
* Remove an assert that should no longer be forbidden with the slice-based indexing scheme.
* Make annotations come out of the plugins in line order so we can just use merge() on them.
* Stop passing line numbers into the template; it can figure those out itself.