Add support for injecting parameterized types.

feat(TypeLiteral): Added TypeLiteral which can be used to bind types which use generics (parameterized types).

This attempts to solve #110