Wide character I/O paths in Windows

Windows is a unique OS that doesn't like to "just use UTF-8 in file names and be nice" like every other platform. It uses UCS-2 for paths and has special API functions for working with them. Default <code>open</code>, <code>mkdir</code> and so on doesn't support anything outside ANSI.

So @JustAMan has made some additions to our "Windows-supporting-POSIX-layer" to make it working with wide-character filenames.

We made some basic testing (although it's incomplete, but a complete testing would take too much time).

Would you like to merge it?