Remove NumberConverter#valid_float? parameter

`valid_float?` is only called on the number instance variable, so just
use that rather than passing it in every time.
Refactor `NumberToHumanConverter`

* Clarify the pieces of `NumberToHumanConverter` with better
  names and with more idiomatic Ruby.
* Clarify much hidden meaning in the mathematical
  operations and decisions.