fix(ngModelController): introduce $cancelUpdate to cancel pending updates

The `$cancelUpdate()` method on `NgModelController` cancels any pending debounce
action and resets the view value by invoking `$render()`.

This method should be invoked before programmatic update to the model of inputs
that might have pending updates due to `ng-model-options` specifying `updateOn`
or `debounce` properties.

Fixes #6994
Closes #7014
refactor(ngModelController): use 'ctrl' instead of 'this'
docs(ngModelOptions): add some docs for $cancelUpdate
docs(ngModelController): add example for $cancelUpdate