Implemented directive scoping

Directives can now declare their controller visibility (local, children, direct children) via $visibility static field.
Disabled implicit injection on the injector.