The windows port has come far enough along that we can now recommend building with MSVC on Windows. This provides better debugging, faster builds, and better overall results.
Rather than use the `INCLUDE` and `LIB` environment variables to build
the Windows code, use the `UniversalCRTSdkDir`, `UCRTVersion`, and
`VCToolsInstallDir` variables. Using these we can compute the right set
of include directories and library search paths for the various
architectures. This will enable us to build multiple variants of the
Windows stdlib at the same time.
Additionally, rather than relying on the magic environment variables to
be processed by the driver, pass them explicitly to the driver through
the build system. This also is needed to allow parallel builds of
various architecture variants of the stdlib on Windows.
Add some documentation explaining the various options needed to setup
cross-compiling for Windows from Linux or Darwin. This has been poorly
documented previously, but since more people seem to be interested in the
Windows port, take a stab at starting some documentation to make the setup more
reproducible.