Implement allocateBuffer for BufferHubService

Return ALLOCATION_FAILED when failed to create BufferNode, NO_ERROR on
success.

Allocation and memory management logics are in BufferNode, and enforced
via the shared_ptr and clientList. Memcpy is used to convert between
AHardwareBuffer_Desc and HardwareBufferDescription (i.e. hidl_vec).

Test: BufferHubBuffer_test (passed)
Change-Id: I5e17aa7330c5f94656e62dc4bea8ab6c705ab7a4
Fix: 118614333
diff --git a/services/bufferhub/Android.bp b/services/bufferhub/Android.bp
index ca65e02..871561f 100644
--- a/services/bufferhub/Android.bp
+++ b/services/bufferhub/Android.bp
@@ -52,6 +52,12 @@
     srcs: [
         "main_bufferhub.cpp"
     ],
+    header_libs: [
+        "libbufferhub_headers",
+        "libdvr_headers",
+        "libnativewindow_headers",
+        "libpdx_headers",
+    ],
     shared_libs: [
         "android.frameworks.bufferhub@1.0",
         "libbufferhubservice",