praefect: Introduce `praefect.Dependencies` for dependency injection
Currently Praefect dependencies are individually wired to bootstrap
services. Instead, praefect.Dependencies
is introduced to consolidate
these dependencies into a single type and streamline dependency
injection.
Edited by Justin Tobler