Add MemoryDealer to libhidlmemory

Now we have hidl_memory to represent a virtual memory region that a
process can use mmap() to get the data. Also we have MemoryBlock to
represent a sub-region in the main region and the MemoryBlock
can be passed between processes with small overhead. The MemoryDealer
here is used to

- allocate a MemoryBlock from a hidl_memory heap
- release a MemoryBlock to a hidl_memory heap

Test: hidl_cache_test/ internal master/ sailfish
Bug: 70309364
Change-Id: I01c30b8ca12880a26da5cdda3bff4a673881de73
3 files changed