First prototype atttempting to support an external display

both API and implementation will change, this is just a prototype
intended to show feasability.

SurfaceFlinger is passed an ISurfaceTexture through a new
callback, it is in turn used to create an EGLSurface which
surfaceflinger will draw into in addition to the main screen.

Change-Id: Id0bbb0b854bb7bae44d57246a90b65d4567f9a21
diff --git a/include/gui/ISurfaceComposer.h b/include/gui/ISurfaceComposer.h
index e4e8aa7..4f32146 100644
--- a/include/gui/ISurfaceComposer.h
+++ b/include/gui/ISurfaceComposer.h
@@ -145,6 +145,9 @@
 
     /* triggers screen on and waits for it to complete */
     virtual void unblank() = 0;
+
+    /* connects to an external display */
+    virtual void connectDisplay(const sp<ISurfaceTexture> display) = 0;
 };
 
 // ----------------------------------------------------------------------------
@@ -168,6 +171,7 @@
         CREATE_DISPLAY_EVENT_CONNECTION,
         BLANK,
         UNBLANK,
+        CONNECT_DISPLAY,
     };
 
     virtual status_t    onTransact( uint32_t code,