feat(ngModel): add ngModelContext for getter/setter bindings

Adds an optional attribute, `ng-model-context`, that will be evaluated to provide the calling
context used when invoking the ngModel getter/setter function. When not provided, falls back to the
existing behavior of invoking getter/setter functions from the global context.

Closes #9394