Added support for devices that use IME

For devices that use IME, the `keypress` event does not fire
[See W3C Spec](http://www.w3.org/TR/DOM-Level-3-Events/#event-type-keypress).

Instead the event is partially replaced with the `compositionstart`, `compositionupdate`,
and the `compositionend` events. This support is added in with tricks to handle what the
input buffer is since the `keypress` event is no longer available to provide the `charCode`.

Also, to handle the nature of IME which will dispatch an `input` event when the composition
has been completed (as per spec), the `touchstart` event is also binded on the mentions list
item so that the blur event that fires when the user clicks on the list item does not cause
the dropdown to disappear, rendering the selecting of the list items impossible on touch
devices.