feat(scope): Expose Scope.watchAST as a public API

For #1086