docs: update and improve docs for input, ngModelController, and guide/forms

In this PR:

- make it more clear that you should use $validators for custom validation (updated example in guide etc)
- adds explicit information what certain inputs require (Date object for input[date] etc)
- update outdated information (css class list, parse errors)
- explain how to override built-in validators (for ye olde Email regex discussion)

Feeback welcome, I probably have introduced typos and odd wordings.
Which sentence in particular?

There might be some disambiguation required from some folks around "entered into the element (input)" and "set on the model". I guess.  The model must always be a `Date`. The value from the input will always be a `String`, and should always be in an ISO format.