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.
Hmm. On Protobufs I used to tell people "If you want to include windows.h and protobuf headers together, it's up to you to #undef the conflicts.". It's harsh, but it can be pretty difficult for us to keep up with these problems, and we may just create more confusion for users who are actually trying to use the macros we #undefed.

If we do want to handle it ourselves, then I think whenever we #undef something, we need to replace it with a global constant or function. E.g.:

    namespace win32 {
      const auto ERROR_ = ERROR;
      #undef ERROR
      const auto ERROR = ERROR_;
    }
    using namespace win32;