Avoid unnecessary caret shape reset.

`setCaret()` seems quite expensive and is called for every keystroke in the normal mode.
With this change my Eclipse "feels" less sluggish. I've spend a day with the change and didn't notice the caret being in a wrong shape.