Remove's config_systemUIServiceComponents from SystemUI's config.xml
and replaces it with a list of Dagger providers that can easily be
defined and customized in code.
This is a step to removing our reliance on reflection and hopefully
lets SystemUI clients better tailor their binary to their needs.
Various other small code tweaks are included to address startup-order
dependent issues that were discovered while writing this CL.
Some startup customization still occurs via XML - one form factor
in particular has an overlay that relies on this. It is my intent
to find a way to move off of that in the future.
Bug: 205725937
Test: manual
Change-Id: I4c207bc9487718eddc21f364e81ec760f286bf30