Fire 'beforeinput' during typing, pressing hot keys and IME composition

Support |inputType| and |data| field.

'beforeinput' will be fired when:
1. Typing without IME
2. Pressing hot keys like Ctrl-Z
3. Typing with IME, will be fire before compositionUpdate

'beforeinput' will not be fired by Document.execCommand().

SPEC=http://w3c.github.io/editing/input-events.html#event-type-beforeinput

BUG=585875

Review URL: https://codereview.chromium.org/1752933002

Cr-Commit-Position: refs/heads/master@{#388519}
14 files changed