SF: Separate SurfaceInterceptor into interface and impl

SurfaceInterceptor is now an abstract interface.
impl::SurfaceInterceptor is the normal implementation.

This allows unit tests to replace it with a GMock.

Test: Builds
Bug: 74827900
Change-Id: I4d5bb2649b0c7a8ec1e6c0abf01ab53174d06a19
(cherry picked from commit 4dccc413ddf822ca6f1856fd2d8ab80185203eed)
diff --git a/services/surfaceflinger/EventThread.cpp b/services/surfaceflinger/EventThread.cpp
index 1f4f5a5..bb9c070 100644
--- a/services/surfaceflinger/EventThread.cpp
+++ b/services/surfaceflinger/EventThread.cpp
@@ -217,7 +217,7 @@
             if (timestamp) {
                 // we have a vsync event to dispatch
                 if (mInterceptVSyncs) {
-                    mFlinger.mInterceptor.saveVSyncEvent(timestamp);
+                    mFlinger.mInterceptor->saveVSyncEvent(timestamp);
                 }
                 *event = mVSyncEvent[i];
                 mVSyncEvent[i].header.timestamp = 0;