[Lut screenshot] backend implementation v2

Relnote: real implementation to call getLuts() binder in screenshot.
1. screenshot compositionengine doesn't have valid hwc composer object,
   we modify `setHwComposer` function to allow hwcomposer object to be
   used in multiple places. and set hwcomposer to screenshot
   compositionengine.
2. extend compositionengine::LayerFE::LayerSettings to include layer
   sequence number, and we use this unique value to identify which Luts
   should be used for which layer.

Bug: 352585077
Test: libcompositionengine_test; libsurfaceflinger_unittest
Flag: android.hardware.flags.luts_api

Change-Id: I4ef43bfd515541d23a8de8785f04e3a21c46b410
diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h
index c2e687f..824a55a6 100644
--- a/services/surfaceflinger/SurfaceFlinger.h
+++ b/services/surfaceflinger/SurfaceFlinger.h
@@ -1368,6 +1368,7 @@
     std::atomic<int> mNumTrustedPresentationListeners = 0;
 
     std::unique_ptr<compositionengine::CompositionEngine> mCompositionEngine;
+    std::unique_ptr<HWComposer> mHWComposer;
 
     CompositionCoveragePerDisplay mCompositionCoverage;