New modules for DI, utils, settings, and retail

 - Move common dagger classes to new, separate, dependency injection
   (DI) module

 - Move GlobalSettings interface to separate module

 - Move ConflatedCallbackFlow.kt to common

 - Make SystemUICommon depends on SystemUI-shared-utils

 - Split retail into three modules: one for assembling the DI graph,
   another for the data layer, and a third for the domain layer.

Bug: 307607958
Flag: EXEMPT build change is a no-op
Test: adb shell settings put global device_demo_mode 1 / 0, observe QS
Change-Id: I67f68cdd6528cae7b0c0f199e4505fbd97fab784
33 files changed