[bc25] Create `OverlayShade`, a shared UI container for overlay shades.

The overlay shade renders the shared parts of the lightweight overlay
shades (notifications shade and quick settings shade):

* Lockscreen (if the shade was invoked on the lockscreen)
* Semi-transparent scrim
* A rounded-corner UI panel whose width varies based on the screen size
* Transitions (will be added in a future CL)

Test: Added unit tests.
Bug: 337849926.
Flag: ACONFIG com.android.systemui.dual_shade DISABLED
Change-Id: Ic2bf1433b884e7c02e78a9d437913084230abf56
4 files changed