$scope.$apply() is not reentrant

Ensures that ``$scope.$apply()`` is not called recursively.