feat(benchmark): add a simple benchmark for the di module
refactor(collection): use Map instead of Object
feat(di): add metadata to Key
feat(ElementInjector): implement ElementInjector
feat(ElementInjector): add support for "special" objects
feat(View): implement ProtoView.instantiate
fix(super): `super()` now means call the proto of the current function.

See https://github.com/google/traceur-
compiler/commit/6732e5eddf203ae02bcfb8faea837590bf32c061