use coherent memory for command buffers

If vulkan aux memory feature is enabled:
- ResourceTracker  uses custom alloc/free functions using coherent memory
- CommandBufferStagingStream(s) in ResourceTracker to use custom allocation
- Flush command buffers to aux memory
- abort()if allocBuffer() is called while previous data read is incomplete
    - add new test for this behavior
    - Test results: https://paste.googleplex.com/5119004271181824

Tested with `flat run emulator` and verified command buffers are being flushed to aux memory and decoded on host

Tested with `full-gles3` and `full-vulkan` benchmarking app

Change-Id: I508d6f6fa6e29386b0764b5f3f78b5159396a260
(cherry picked from commit f7beff89d41bf8ced82e8554819bd00f4132c642)
6 files changed