prevent horizontal scrolling

Given an editable element with text content "foobarbaz" and selection
range "bar", pressing the left arrow key five times in succession will
produce the following results:

1.  foo|barbaz (selection range is collapsed)

2.  fo|obarbaz

3.  f|oobarbaz

4.  |foobarbaz

5.  |foobarbaz; an ancestor's horizontal scroll offset may be updated

This commit attempts to prevent horizontal scrolling without affecting
normal text field manoeuvring.