win32: fix character event utf16 decode

An extra zero in integer constant caused a comparison to be always true.

Add extra parenthesis to avoid compiler warning.
win32: fix cleanup on error

Fix cleanup code if errors occur in glwtInit.
win32: Process WM_SYSCHAR messages

Process WM_SYSCHAR events to get ALT+keydown handled correctly.