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.
I think the sentence that is causing confusion is

> In the event that the model is not set to the first of the month, the first of that model's month is assumed.