windows: add tty unicode support for input

Switches from using ReadConsoleA to ReadConsoleW.
Uses an auxiliary buffer to store the temporary utf-16 string.
Added MAX_INPUT_BUFFER_LENGTH