use type_relations in instaantiation_state

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
remove unused forward declaration

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
add injector and module class

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
add default_constructor_method class

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>
use default_constructor_method to create objects

Signed-off-by: Rafał Malinowski <rafal.przemyslaw.malinowski@gmail.com>