Caret no longer needs to be hidden between redraws

Removing layers of timeouts in the CaretManager mean the caret no longer
flickers badly when transitioning between large and small sizes.

See PR #369 for details about why this workaround was put in originally.