Min and Max attributes now validated as numbers

Min and Max values, when defined as attributes, had been interpreted as
strings when comparing.  Thus, setting max="30" would interpret a value
of "100" as valid, because the string "100" comes before the string
"30".  This update forces min and max attributes to be interpreted as
numbers instead, so an attribute of max="30" would have a validation
failure for an observable that has a numeric value of 100, as it should.