Clean up preprocessor cruft for Windows

1.  Renamed USE_INLINE to PIL_USE_INLINE to avoid conflicts with
    other headers/libraries.

2.  Replace `__WIN32__` and `WIN32` with `_WIN32`

3.  Don't define WIN32 when the compiler is MSVC but not on Windows
    Why would you even...

4.  Don't define strcasecmp if you're not even going to use it.

5.  Don't include Windows.h with undefs for compilers newer than
    1998 everywhere.

6.  Don't surpress warnings for MSVC++ 4.0. People still using
    MSVC++ 4.0 deserve it.

7.  Don't include things that are already included in Windows.h

8.  Don't ignore USE_INLINE with MSVC

Addresses issue #642 and together with PR #643 fixes building on mingw-w64, and thus, issue #642

I have tested this with mingw-w64.

Anyone willing to test this with MSVC is more than welcome to.