fix(input): format numeric string model values correctly

Previously, when a numeric string is used as a model value, the number input type
would not format the value. This patch corrects this behaviour by converting to
a number before performing validation, if the value is a string and not NaN.

Closes #6683