fix(input): improve html5 validation support

This CL improves mocking support for HTML5 validation, and ensures that it
works correctly along with debounced commission of view values.

Closes #7936
(This is because of the really, really stupid constraint validation API, it makes zero sense, but it's what we've got =()