fix(numberInput): Check ValidityState when determining validity

Fixes #2144

I haven't been able to write tests for this successfully, however
testing in browser this seems to work perfectly. I'm having trouble
getting the ValidityState to be finished in automated tests.

It MAY be possible to do this by setting a timeout of 200ms or something,
to give the DOM time to update --- But this would introduce flakiness.