Remove legacy layer hierarchy

Legacy layer objects are now all stored in the mLegacyLayer map. They
are created on the binder thread and destroyed on the main thread.
Cloned layers do not have a legacy layer.

This change also keeps the create layer alive until main thread wakes up
to make the lifetime a bit simpler to track.

Flag: EXEMPT flag removal
Bug: 330785038
Test: presubmit
Change-Id: I4132e7a7c373c823ad914209955f7b0f55af008d
diff --git a/services/surfaceflinger/LayerVector.h b/services/surfaceflinger/LayerVector.h
index a531f4f..38dc11d 100644
--- a/services/surfaceflinger/LayerVector.h
+++ b/services/surfaceflinger/LayerVector.h
@@ -46,11 +46,8 @@
 
     // Sorts layer by layer-stack, Z order, and finally creation order (sequence).
     int do_compare(const void* lhs, const void* rhs) const override;
-
     using Visitor = std::function<void(Layer*)>;
-    void traverseInReverseZOrder(StateSet stateSet, const Visitor& visitor) const;
-    void traverseInZOrder(StateSet stateSet, const Visitor& visitor) const;
-    void traverse(const Visitor& visitor) const;
+
 private:
     const StateSet mStateSet;
 };