Reorder the early subsystems based on their dependencies

Some of our subsystem dependencies are out of sync with their module dependencies.

So if these early subsystems log, we might not be able to see the errors. (Or the process might crash.)