MSVC: Fix my_timespec definition
MSVC: Avoid defining min and max macros
MSVC: Fix unknown isnan symbol

MSVC uses _isnan and not isnan.  On Windows, Intel compiler uses
isnan in global namespace.  In other cases, we want to use std::isnan.
MSVC: Allows building C examples

There is no C99 support with MSVC, we have to compile C sources
with C++ compiler, and thus make some adjustments.

Also fix common problem on MSVC:
 error C2668: 'sqrt' : ambiguous call to overloaded function