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