Add (in)valid class bindings to individual field views

This allows fields to have a valid/invalid class on the `input`/`textarea`/etc. element itself, instead of just on the wrapper. It also adds a new `showValid` property for the valid class to bind to.

Not sure that this PR should actually be merged yet (definitely needs tests), but I wanted to get it out here so I could get opinions on configuration - should the field valid/invalid classes be configurable in the wrapper, or in some lower level (i.e. on the `{{text-field}}` helper)?