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 would use a different directive name. The fact that multiple directives with tha same name can exist and that they are all applied (and the last one does not overwrite the orevious definitions etc) are topics than many users are not acquainted with, so using is here like this might confuse them and buffle them.
Keeping it simple will (imo) better serve the purpose of demonstrating how to overwrite a built-in validator (and just that).