Fix preprocessor defines in build with GCC for windows

6a46ad138c02138bb8f9a425afdec149bfa39182 broke the build with GCC for windows
because it switched from gnu++0x to c++11. This not only makes the build fail
with more GCC version but also undefines the preprocessor variable WIN32. Thus
all windows specific code now fails to be handled correctly by the
preprocessor. But the preprocessor variable _WIN32 seems to be defined just
fine and is used now everywhere in the code.
Add missing includes and preprocessor checks