Adds GuestComposer to replace Cuttlefish HWC

GuestComposer uses Gralloc and libyuv to compose in the guest.

Moves the existing drm handling into a separate DrmPresenter
which can be used by both HostComposer and GuestComposer.

Bug: b/171305898
Test: m && launch_cvd --gpu_mode=guest_swiftshader
Test: cts -m CtsCameraTestCases
Test: cts -m CtsGraphicsTestCases
Test: vts -m VtsHalGraphicsComposerV2_1TargetTest
Test: vts -m VtsHalGraphicsComposerV2_2TargetTest
Change-Id: I9e3601747455d1d735a28249c7f851bcf339fc3e
17 files changed