feat(ElementInjector): change ElementInjector so @parent and @ancestor do not include self.
feat(ElementInjector): add NgElement
refactor(ElementInjector): cleanup
fix(compiler, view): centralize TemplateElement checks and fix inconsistencies

Fixes #189
Closes #194
refactor(annotations): replace Module functions with plain lists.

Renames:
elementServices -> shadowDomServices.
feat(view): add support for instantiation of nested component views.

Includes shadowDom creation and integration tests for nested components.