Use _WIN32 instead of WIN32 preprocessor directive

Hey,


MinGW only defines _WIN32 whereas MSVC defines both. Using _WIN32 is cleaner because it's not allowed to be defined by the user/programmer, but must come from the compiler.

The `defined` checks get rid of `warning: "_WIN32" is not defined` on other platforms.

Regards,
Dominik