Add synchronous transaction to wait for setInputWindow to complete (1/n)

Add SurfaceFlinger callback to notify when input windows have been set.

The call to set input windows from SF to InputDispatcher is one way.
Therefore, it won't wait to ensure the windows have been set. Add a
callback method to allow InputDispatcher to notify SF when it's finished
setting the input windows, allowing SF to block if needed.

Bug: 123041491
Test: Builds and runs
Change-Id: Ia4196d2e517c07d94ab9da71beab057d5d6fcf1c
diff --git a/libs/gui/tests/Surface_test.cpp b/libs/gui/tests/Surface_test.cpp
index f127853..8225647 100644
--- a/libs/gui/tests/Surface_test.cpp
+++ b/libs/gui/tests/Surface_test.cpp
@@ -679,6 +679,8 @@
         return NO_ERROR;
     }
 
+    void setInputWindowsFinished() override {}
+
 protected:
     IBinder* onAsBinder() override { return nullptr; }