Add support for backgrounds on inline elements. Fix fixup() by removing it.

The code that managed ranges was buggy - failing on edge cases
such as a span within a span. I have refactored the code so that the
context information for inline formatting can optionally be stored
within a fragment. This seems cleaner to me, and fixes the bugs
encountered when making these changes by removing the need for
the fixup() functionality (and ranges).
Merge pull request #3134 from glennw/inline-background

Add support for backgrounds on inline elements. Fix fixup() by removing it.