Windows cross-compiling using MXE + some cleanup

The cfg-all script can now set two new targets: mingw-release and
mingw-debug, using MXE (http://mxe.cc) for building Win32 or Win64
binaries. Static linking only at this point; building DLLs will be
supported eventually.

Fixed the broken "automatically generated" messages in generated
files.

Generated files are now sent to the build directories instead of
the source tree. (CMake doesn't update these files as needed when
building for multiple targets, so you'll get random mixups.)

Removed redundant NULL and byte order declarations in EEL_types.h.
The real ones are in EEL_platform.h.

Fixed 'res' variable type in ShellExucute().

Using GetEnvironmentVariableA() instead of getenv() in getenv().

Fixed some bugs in the Win32 implementation of setenv().

Replaced most uses of link_libraries() with target_link_librarie()
in the CMake files.

GL_CLAMP_TO_EDGE, GL_BLEND_EQUATION etc are now back in eb_opengl.h,
as the Windows header doesn't cover OpenGL beyond 1.1, and obviously,
SDL_opengl.h doesn't help for some reason. (We're probably not
detecting it...)

envtest.eel now handles unexpected nil variable values; that is,
variables that aren't set. (Problem discovered because setenv()
doesn't seem to work on Win32, at least not on Wine.)