Put the caching where it belongs.
Avoid the visible caret showing when the insertion point in the editable isn't visible on the screen. Previously this could happen when the editable only filled some of the document and scrolled. This uses code that was previously in the nav module to attempt to allow for a mobile device's virtual keyboard.
Fix for caret display that was broken in some cases (body scrolls rather than editable scrolls).
Default caret on in iOS, off for everything else.
Merge branch 'focus'