Replace keybd_event with SendInput, fix Unicode

The last commit, implementing with keydb_event instead of SendKeys, broke
the ability to read and send generic unicode characters (accented
characters, smileys, ellipsis) from Plover.

The major problem with this is losing support for other languages on
Windows. This commit uses SendInput which has Unicode support. Note that
the Unicode support won't work on all programs as it is not literally completely
emulating a hardware keyboard. It has virtually the same support as
SendKeys did previously when dealing with Unicode.

For details on the KEYDBINPUT structure with Unicode support, see the
[KEYDBINPUT structure
msdn doc](http://msdn.microsoft.com/en-us/library/windows/desktop/ms646271(v=vs.85).aspx)