Fully fix compilation with MSVC/ICL: M_PI, strcasecmp, strings.h

As before, this does not add any build system support:
a config.h file and a project must still be manually created
(or the compiler can be run manually instead of using a project).

Note: as of Visual Studio 2013 (CL version 18, ICL version 14),
the inline keyword is still rejected in C mode,
so config.h or the project must #define inline __inline.