Extract QSFragment logic

Extract the logic into QSImpl so it's independent of the fragment. In
order for QSImpl to be properly initialized, it needs to be called with
a QSComponent.

Also, introduce a QSFlexiglassComponent and module.

Test: atest com.android.systemui.qs
Bug: 280887232
Change-Id: I5fd40b3393563320b2972c168315e1eeb951aae7
27 files changed