feat(compiler): support ScopeAware for decorators

Even though decorators can safely inject scope (even after the proposed
context change), they might pick up ScopeAware from a base class shared
with components. Instead of manually calling super.scope = scope, we
support ScopeAware for decorators.

There is no performance reduction on the tree benchmark.
Enclosed them in `[  ]` as previous occurrences, is this what you meant?