libgui: Add dequeue/attach timeout

Adds the ability to specify the timeout when dequeueBuffer or
attachBuffer block due to the lack of a free buffer/slot. By default,
these will block indefinitely (which is signified by a timeout of -1).

When a timeout (other than -1) is specified, non-blocking mode is
disabled and the given timeout will be used instead.

Bug: 25196773
Change-Id: I17fdbeebccb7c8d878703d758ac1209608258e61
diff --git a/include/gui/Surface.h b/include/gui/Surface.h
index bcc3fff..f79210b 100644
--- a/include/gui/Surface.h
+++ b/include/gui/Surface.h
@@ -117,6 +117,9 @@
      * in <system/window.h>. */
     int setScalingMode(int mode);
 
+    // See IGraphicBufferProducer::setDequeueTimeout
+    status_t setDequeueTimeout(nsecs_t timeout);
+
 protected:
     virtual ~Surface();