Add an allowFloat option to the number type

This commit adds an allowFloat option when creating a number.  It
defaults to false, which means that only integer values are accepted for
that number.  If allowFloat is false, float values are still accepted
for min, max, and step, but they are rounded to ints in the constructor.

Signed-off-by: Adam Goforth <code@adamgoforth.com>