Ignore minor differences in titles and file names

Microsoft Office IME 2010 returns different descriptions (with
trailing space or not) and file names (in upper or lower case)
whether just after installation or else. This workaround ignores
these differences.
Fix the bug where the hook state remains unchanged when IE10 or later has the keyboard focus

In xkeymacs-110830, the hook state remains unchanged when the keyboard
focus moves from another application to IE10 or later. After the change
of 55ddea2, the hook stays disabled in IE10 or later.

To change the hook state, CXkeymacsDll::CallWndProc calls
InitKeyboardProc when an appliation get the keyboard focus. It calls
only when the window is the foreground window. Each tab window in IE10
or later belong to a different process and does not become
foreground. So InitKeyboardProc is not called and the hook mode remains
unchanged.

To fix this bug, CallWndProc should call InitKeyboardProc even if the
focused window is not foreground.
Make CUtils::Log thread safe
Add the only active TIP (IME on TSF) to the IME list
Fix a bug where the icon doesn't reflect the hook state on Internet Explorer

Each window on Internet Explorer runs on a separate process at a low
integrity level. These processes can't write the named pipe to notify
the hook state. This fix allow them to do it.
Add a new class to handle the TLS stuff
Support TSF-based IMEs on TSF-aware applications

XKeymacs can't recognize the start and end of a composition by a
TSF-based IME on a TSF-aware application. It therefore doesn't switch
the current configuration from the application to the IME on the start
of a composition. One of such cases is Microsoft IME and Internet
Explorer 11 on Windows 7. This patch lets XKeymacs recognize the start
and end of a composition in such cases.