Detect MinGW on Windows
Don't use reserved identifiers
Fix some warnings :-)

-Wlong-long is on by default when compiling with -pedantic
CUDA is not supported when compiling with MinGW
Compile with MinGW on Windows.

mingw-w64 sometimes does not define FLT_EPSILON, std::numeric_limits works however...
Compile with MinGW on Windows
Adjust CMake modules. Should now work on Windows...