Win32: Update OSK bypass with Unicode/wchar/wstring support.
Prevent possible buffer overflow.
Really prevent the possible buffer overflow. This is getting silly.
Terminate the loop early if it's going to overflow; there's no reason to keep riding it out. Also fix use of uninitialized variable.
Change u32_le to u32.
Switch from u32_le to u32, and truncate the user's input if it's too long(so that they still get something entered. It's probably confusing not to enter something).
Merge pull request #3442 from thedax/win32OSKUnicode

Win32: Update OSK bypass with Unicode/wchar/wstring support.