SF: Separate EventThread into interface and impl

This allows the normal EventThread to be substituted by a GMock for unit
tests.

The EventThread is now the abstract interface. impl::EventThread is the
normal implementation.

Test: Builds
Bug: None
Change-Id: I2c6234a10849f7d34a215d53e5f601895738a5ae
diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h
index a17eb70..b7ebb1b 100644
--- a/services/surfaceflinger/SurfaceFlinger.h
+++ b/services/surfaceflinger/SurfaceFlinger.h
@@ -93,6 +93,10 @@
 class SurfaceFlingerBE;
 class VSyncSource;
 
+namespace impl {
+class EventThread;
+} // namespace impl
+
 namespace RE {
 class RenderEngine;
 }
@@ -312,7 +316,7 @@
 private:
     friend class Client;
     friend class DisplayEventConnection;
-    friend class EventThread;
+    friend class impl::EventThread;
     friend class Layer;
     friend class BufferLayer;
     friend class MonitoredProducer;