[InputEvent] Support |sequence<Range> getRanges()| in 'beforeinput'

This is the first step to support |getRanges()| in 'beforeinput', the
next step will be introducing |StaticRange| and change the method to
|sequence<StaticRange> getRanges()|.

This CL adds supports to all delete related actions, such as
delete-character/word/line/paragraph (forward and backward).

Will add support to other inputTypes when the spec is ready.

SPEC=http://w3c.github.io/editing/input-events.html
BUG=609142

Review-Url: https://codereview.chromium.org/1965543002
Cr-Commit-Position: refs/heads/master@{#397131}
12 files changed