dependency_pack class
describes a set of dependencies for a given system
systems can have various dependencies, for example a movement system could have dependencies on both a psl::ecs::components::transform component and a psl::ecs::components::renderable component. This dependency will output a set of psl::psl::ecs::components::renderable that have a psl::ecs::components::transform, but also needs to know all psl::ecs::components::camera's. So that system would require several dependency_