refactor: annotate with @Inject

All class/function providers have to be annotated with `@Inject` (even
if they don't have any arguments). Otherwise the token gets injected
as value.


TODO:
We should extract all the annotations (such as `Inject`, `Provide`)
into a separate module so that expressionist does not have to
include entire di.