isFloat() fix for numeric input

(branch should've been named patch-isFloat, alas): previously a NUMERIC NaN value would be okay for w2utils.isFloat(); now it is NOT (isFloat and isInt check strings and are clearly designed to validate form inputs; I can't come up with a use case where a numeric input field is considered 'okay' when it accepts NaN.

Added extra unit tests to cover these and a few other cases (note: for now, we tolerate /-Inf as numeric values, but the jury is still out on that one...)