use NAN and INFINITY

The macro str_to_mrb_float (strto[df]) converts a string to a number,
but these two macros can be used to directly get the special value.

The NAN macro requires quiet NaN support, but so does str_to_mrb_float.

This change also circumvents missing C99 support in Microsoft's C library.
Its (or ISO C90's) strtod doesn't parse "nan" or "inf".
MSVC: add NAN and INFINITY for older versions
Merge pull request #1834 from cremno/use-nan-and-infinity-macros

use NAN and INFINITY macros