(PUP-546)(maint) remove categories add dynamic layers

This continues the work started in PUP-546 and also removes the support for categorized/predicated bindings.
As this changes how injector bindings models can be aggregated and combined it is now possible to instead
override injectors. Injector creation (and override) is also simplified.