Draft: drm_hwcomposer: Add hwc3 prototype
Creates a prototype of HWC3 implementation
The current HWC3 implementation introduces ComposerClient class that calls down to HwcDisplay and calls into the HWC2 implementation to handle most of the requests.
As the HWC3 Composer has a lifecycle and gets created and destroyed dynamically when clients connect or disconnect from it compared to HWC2 which ran as a singleton, some of the classes were refactored to make sure the implementation does not leak any threads or resources when the Composer is being destroyed.
A new aospless file for CI is required to provide all of the composer3 AIDL dependencies to build the project:
aospless_drm_hwcomposer_arm64.tar.xz
The implementation was tested on an Odroid N2+ board running Android 14.