windows: Tweak Makefile.mingw for easier usage

Default CC to `gcc` instead of `cc` because at least on the mingw installation I
had there was no `cc` exectuable. This avoids having to type `CC=gcc` in all the
`make` commands.

Also append to `CFLAGS` instead of defining if not previously defined. These
flags are required to build libuv, so they should not be overridden if other
extra CFLAGS are supplied via the command line as well.
windows: Fix compiling on mingw

On older mingw installations, DEVICE_TYPE isn't defined. This was redefined in
windows.h, but it was done after it was already attempted to be used. This moves
the #define for DEVICE_TYPE above the usage of it in windows.h to prevent
compilation failures.