smartText: disable in <code> markups

Closes #63.
richText: deal properly with non-breaking spaces

Fixes #51. This also makes it apparent that not all plugins deal with
spaces in the same way; the smart text plugin, for example, never needs
to deal with the possibility of bringing together two spaces in the way
the backspace handler does, nor does it ever create leading/trailing
spaces like the enter handler does. In that light, consolidating space-
handling logic might just be clunky; we can probably close #61.