feat(dynamic injector): enforce annotations with dynamic injector

closes #58

Enforcing annotations on types injected via TypeProvider is a good
practice to make sure that the code will not break when switching from a
dynamic to a static injector.