feat($controller): disable using global controller constructors

**WIP, do not merge** – I still have to fix some examples and E2E tests.

BREAKING CHANGE

With the exception of simple demos, it is not helpful to use globals for controller constructors. This adds a new method to `$controllerProvider` to re-enable the old behavior, but disables this feature by default.