inputMethod: Handle IBusInputContext::forward-key-press
The input method may hint that certain keycodes should be pressed/released besides the textual information in ::commit. An example is hitting space in some IMs to commit text, where both ::commit happens, and an space is visibly inserted. In order to handle this properly, we must honor ::forward-key-press.
In order to cater for the case that a keypress is forwarded while handling that same keypress in a physical keyboard, check the current event being handled and just forward it as-is if it matches. This is necessary to prevent state from being doubly set, and the second event silenced away.
Closes: #275 (closed)