Exposing the two different ways for IME to work:
* synchronous mode, as implemented by the legacy IME engine (MS Korean IME uses this) with ImmProcessKey / ImeProcessKey followed by ImmTranslateMessage / ImeToAsciiEx call if it returns TRUE
* asynchronous mode, as implemented by the MSCTF IME engine (MS Japanese IME uses this), where key input is hooked elsewhere and where WM_IME_NOTIFY messages with private wparam are used to notify the IME UI of composition updates.