feat(scope): digest asynchronously in scope.apply