Crude implementation of Unicode console support for Windows.

This implementation does have the minor issue of not handling things correctly when a codepoint is split across multiple writes or reads, but its better than not having unicode support at all.

Adds a Windows specific struct `WindowsTTY` in `libnative` and make `tty_open` create that struct on Windows.. Also adds `ReadConsoleW` and `WriteConsoleW` to `libc`.

This will fix #15028 for libnative.

![](http://puu.sh/9BO4c.png)
It looks like it [suffices for libuv](https://github.com/joyent/libuv/blob/master/src/win/tty.c#L228-L231), and I tend to not trust posix functions with file descriptors on windows, but if it's working well I guess it's working well.