feat(injector): add support for injecting annotated types

Add support for injecting annotated types. This allows finer control of
which types are injected.

Closes: #46