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
But if we insist that these parameters are always arrays then we don't need the check right?  Is there anywhere that a null is going to be passed where we can't insist that it is an empty array instead?