gralloc: Add workaround for Jellybean camera drivers

* Arcee is smarter than I am, and discovered that we can simply swap
  two fields to ensure compatibility with Jellybean camera drivers
  having the metadata fields in the private_handle_t struct.
* Enable this by defining QCOM_BSP_CAMERA_ABI_HACK.

Change-Id: I902495ed584d20cefe5af565fe683a5fe3830e56
gralloc: Backward compat for devices using older camera heap

Change-Id: I244e2bbbbb67c27c6c4eb5446d9fdfe8b3f94f5b
libgralloc: Fix secure buffer issues.

-- Though buffer usage is not marked with any Heap, if usage flags
set with GRALLOC_USAGE_PROTECTED allocate from IOMMU heap.
-- Allow using  GRALLOC_USAGE_PROTECTED for non tz level protection.

Change-Id: Idbe804b1d0b5204df38b4def1986b74020f6fdfb
CRs-fixed: 484838
CRs-fixed: 480493
display: Add flag to allow legacy allocations from MM heap

 * New devices with IOMMU use the MM heap exclusively for protected
   buffers. We need to support the old behavior for devices with legacy
   userspace.
 * Enable the old behavior with TARGET_DISPLAY_INSECURE_MM_HEAP.

Change-Id: I899931e35d2e95c0db61790afa2b621b9e4bc593