Move defer(op) into Editor so that modes can use it.
Revamped to allow multiple styles per char.
Added Behavior. Improved whitespace mode.

Behavior makes it easy to encapsulate some functionality that wires up a bunch
of reactions when enabled, and then clears them all out when disabled. This can
then be bound to a boolean config property so that things are automatically
wired and unwired if the user changes the property interactively.

WhitespaceMode now adds and removes the trailing whitespace style, as
appropriate. It doesn't highlight any trailing whitepace to the left of the
point. It defers trailing whitespace processing a frame so that edits and point
movements are all applied before it takes a look at things.
Turned Loc into a value class.

The garbage collector just breathed a giant sigh of relief.
Inline our recursive loops.
Added nextStart + caveat to docs, simplified math.
Added Buffer.transform().

Also simplified some logic with the magic of helper functions.
Added withRegion; up/downcase/capitalize fns.
Added Buffer.findForward/Backward made use thereof.