Control of canvas focus is no longer CaretManager's responsibility

This now logic now lies in the InputMethodEditor class.
Limit caret redraws to a maximum of once per cycle

Any operation or group of operations that affected multiple
paragraphs would cause the caret to re-render multiple times.

Now, updates are stored, and the final caret state is redrawn
only once on the next cycle.
Merge pull request #321 from peitschie/limit-caret-updates

Limit caret redraws to a maximum of once per cycle
Stop using className for avatar handle's
focus state.
Enable virtual selections in Viewer.

This initializes the Session, SessionView,
and SessionController, without yet enabling
editing, so that cursor movements and therefore
virtual selections work.

Hide the caret and handle.