So I'm spending some time on it to cleanup and fix the code and add tests which I feel are missing.
Along the way, some issues are fixed.
For example, commit f371309 fixes an issue with 64bit native IME not working. Because the 64bit native IME was programmed using TRANSMSGLIST, in the old code, the 'msgs' variable in ImmTranslateMessage() was not properly pointing to the 8-byte aligned member.
Thank you.