initial fixes for building kj/main.c++ utilities on mingw

Note, this isn't all that's needed to fix the mingw build (cross compiling from linux).  In particular, this only fixes what I needed to use kj/main.c++ (and dependencies).

I'm assuming that the desired way of dealing with utf-16 windows APIs is to keep everything internally as utf-8 (as advocated by http://utf8everywhere.org/).

With wider windows API usage, we'll eventually want to extract a common way of doing the utf-8 <-> utf-16 translation, rather than calling MultiByteToWideChar all over the place.  I'm not sure what that will look like.
You're right.  I was thinking mostly of a lot of other APIs, where it does actually matter (file names, registry, UI, ...).  However, I don't think any of the posix-emulation layer APIs will just automagically do the conversion for you.  We have problems in another project, avian, around this (https://github.com/ReadyTalk/avian/issues/80).  The right answer here is probably to just output UTF-8 (i.e. no conversion).  They'll be subtle problems (say, with echoing file names back to the console) - but we can delay those until down the road.

I had looked into `WriteFileGather`, and it's a sad, lonely, largely useless API. It assumes that all the buffers are page-aligned and page-sized, so it doesn't really cover the writev use-case.