perf(View): Improve View instantiation speed and memory consumption.

View contains many injectors which are expensive in both speed and memory. The
New DirectiveInjector assumes that there are no more than 10 directives 
per element and can be a lot more efficient than a array/hash lookup and
those it can be faster as well as smaller. This change makes View 
instantiation speed 4x faster in Dartium VM.

BREAKING CHANGE:

- Injector no longer supports visibility
- The Directive:module instead of returning Module now takes
  DirectiveModule (which supports visibility)
- Application Injector and DirectiveInjector now have separate trees.
  (The root of DirectiveInjector is ApplicationInjector)
run into this pb for my Observable PR: I had to update the analyzer because observe depends on a more recent version than angular / di but:
- some dart package depends on older versions (intl, code_transformers IIRC),
- I have not clue what has changed then I have no clue if all the version are ok to use with di/angular transformers (smoke tests went ok though)