Merge pull request #390 from adityab/eventtrap-absolute

Switch to a non-inline Event Trap
iOS Safari: Move/Open virtual keyboard by tap.

Do not set focus in a timeout on iOS.

When attempting click-to-move, in most desktop
browsers we need to get the new selection in a
simple 0-timeout, because the window selection
is not immediately updated when handling the
mouseup event. The focus to the event trap is
set after this is ready. Otherwise, clicking
within a selection will not do anything.

Unfortunately, in iOS Safari, it is impossible
to set focus within a timeout. Therefore, this
commit takes the least painful and simplest
thing route: check navigator.platform for
iPad, iPod, and iPhone (the hope is that this
will be reliable because of Apple's consistency),
and in that case avoid computing the selection
and focus assignment within a timeout.
Switch eventTrap from a <div> to an <input>

This prevents the appearance of various
'contextual' entries in a tooltip over
the caret in iOS.
iOS: Suppress auto-scrolling on click-to-move when
keyboard is open.

This is done by momentarily hiding and displaying
the eventTrap when the keyboard is opening.
Switch autocapitalize=off on iOS because
with the IME not working on that platform,
the keyboard always assumes that we are
starting a new sentence.