Altered charspan CSS classes

* Previously, charspans had the classes "char" and a second one
representing the char contents - for instance, "v" for lowercase v. But,
having a single-character classname for charspans is causing some
collisions with certain Firefox extensions. Now, the character is stored
in a data-char attribute, so CSS can still potentially select it.
* Line breaks are now excluded from charspan generation, for the same
reason that they are no longer converted to <br>s.