Support GraphicBuffer::flatten and GraphicBuffer::unflatten with BufferHub

flatten() calls duplicate on BufferHubBuffer object and flattens the
token obtained from duplicate().
unflatten() reconstruct the token, import a BufferHubBuffer object and
reinitialize the GraphicBuffer object using the imported
BufferHubBuffer.

Bug: 73550905
Test: GraphicBuffer_test
Test: cts-tradefed run singleCommand cts -m CtsNativeHardwareTestCases \
--skip-preconditions --skip-device-info

Change-Id: I511dde8902893e593829b81e4d838dc3561fb009
3 files changed