Add BufferHubEventFd

The main use case of BufferHubEventFd is to signal buffer state change
cross multiple processes without explicit IPC.

Intended architecture: There will be one BufferHubEventFd per
BufferNode object and multiple clients of the same BufferNode should
share the same kernel object of the eventFd.

This CL focuses on proving eventfd and epollfd fit our needs. More
work is needed for BufferHubEventFd to make it binder-parcelable with
necessary constructors.

Bug: 68770788
Test: BufferHubBuffer_test
Change-Id: I7f7f5e5762fa81df61b649c306d209be2fd4236c
diff --git a/libs/ui/Android.bp b/libs/ui/Android.bp
index f770975..a4d0dd1 100644
--- a/libs/ui/Android.bp
+++ b/libs/ui/Android.bp
@@ -55,6 +55,7 @@
     srcs: [
         "ColorSpace.cpp",
         "BufferHubBuffer.cpp",
+        "BufferHubEventFd.cpp",
         "BufferHubMetadata.cpp",
         "DebugUtils.cpp",
         "Fence.cpp",
@@ -112,6 +113,7 @@
             cflags: ["-DLIBUI_IN_VNDK"],
             exclude_srcs: [
                 "BufferHubBuffer.cpp",
+                "BufferHubEventFd.cpp",
                 "BufferHubMetadata.cpp",
             ],
             exclude_header_libs: [