feat(ngModel): add $touched and $untouched states

Sets the ngModel controller property $touched to True and $untouched to False whenever a 'blur' event is triggered over a control with the ngModel directive.

References #583
We could have some code that checks if the `updatedOn` has a `blur` event, and then piggyback on the first digest, otherwise bind to the element the way it currently is.
I think it could be be a good optimization, not sure how expensive a digest is. @matsko what do you think?