hwc: Make the fallback to Copybit composition a compile time option

- let only the devices that actually need it to use this code path
  (it breaks the transition animations on S4 Plus devices otherwise)

Change-Id: Ie6dadf5f0b32631c355eb41e6a0e77ed4e08f763
gralloc: Fix compatibility issue

* Only new gralloc drivers support GET_CUSTOM_STRIDE_AND_HEIGHT, so
  default to older gralloc behavior.
* New behavior can be enabled by adding flag HAVE_NEW_GRALLOC

Change-Id: Iaa05c02d7e611c84b63c9afda0fcedb6d9b6e661
display: Use direct project pathmap

Change-Id: I95c38dca68831207d38f0b1b630e46280c734840
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: I2cd267dd5550404cf2e61d76fb805e780cd99d3c
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: I7882354fa8f159c707be11d7021c18561abfb522
gralloc: Fix some differences with compatibility code

Change-Id: I0f41ff987b6b3f554e11ea2f259d778c8cee7fa2