Improved Visual Studio and Windows SDK detection

These commits add the following:

- check the default Visual Studio 2013 install path for Visual Studio presence
- check the default Windows SDK 8.0 and 8.1 install paths for Windows SDK presence
- pick the correct (cross-)compiler and resource compiler based on the target platform
- pick the "native" (cross-)compiler by default if available (eg: 64-bit compiler on 64-bit Windows)
- pick the correct libraries based on the target platform
- pick the correct libraries for recent Windows SDK versions
- support for ARM targets

Some limitations:

- some of the cross-compilers currently still require the vcvars.bat file to be applied before building as they will otherwise lack required DLLs and files that are not available in their path
- ARM cross-compile will fail some unit tests because crtdefs.h requires \_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE to be defined