BUG: min_scalar_type_num: NaN can be represented in smallest float

E.g. pandas sometime uses float('NaN') which would otherwise converts to
float64 where not required. The new np.where which uses
PyArray_ResultType is a case where the conversion is unnecessary.