Use the textInput event to detect unhandled characters on Chrome & Safari

The textInput event provides a more accurate view of the resulting text
from a key press on Chrome and Safari. Use this as the fallback if the
key press event is ignored (e.g., user is inputing character code using
the Mac OS option key or Windows alt key).
Merge pull request #284 from peitschie/text-input

Use the textInput event to detect unhandled characters on Chrome & Safari