Rewrite server on top of TigerVNC

TigerVNC provides a much more robust server implementation vs.
libvncserver and yields higher performance and lower CPU
usage.
diff --git a/src/VirtualDisplay.h b/src/VirtualDisplay.h
new file mode 100644
index 0000000..f23d32d
--- /dev/null
+++ b/src/VirtualDisplay.h
@@ -0,0 +1,26 @@
+#include <gui/CpuConsumer.h>
+
+namespace vncflinger {
+
+class VirtualDisplay {
+  public:
+    VirtualDisplay();
+
+    virtual void onFrameAvailable(const BufferItem& item);
+
+  private:
+    Mutex mEventMutex;
+    Condition mEventCond;
+
+    bool mFrameAvailable;
+
+    // Virtual display
+    sp<IBinder> mDpy;
+
+    // Producer side of queue, passed into the virtual display.
+    sp<IGraphicBufferProducer> mProducer;
+
+    // This receives frames from the virtual display and makes them available
+    sp<CpuConsumer> mCpuConsumer;
+};
+};