overlay: Allocate from MM heap as a fallback

 * Not all devices support IOMMU yet, so use the MM heap as a fallback.
 * Enabled when NO_IOMMU is set

Change-Id: I9d9f3dffb92f5b4bf45422df0f66a40611943202
gralloc: Fix some differences with compatibility code

Change-Id: I0f41ff987b6b3f554e11ea2f259d778c8cee7fa2

Conflicts:
	libgralloc/alloc_controller.cpp
liboverlay: underp NO_IOMMU case

Fixes memory allocations on chips without IOMMU
Based on https://github.com/CyanogenMod/android_hardware_qcom_display-caf/commit/efa2483261a7d2db82c49e33997f232138999478

Change-Id: Ia2c08e43c49a84d70564ca29717efb6bfc168b88
display: Add support for MDP 4.1

 * MDP 4.1 does not support the borderfill pipe and the baselayer logic
   should not be used.
 * Only use 3 pipes for MDP 4.1.

Change-Id: Ide542079902f35818300619f8eefd3d188342b5d

Conflicts:
	libhwcomposer/hwc.cpp
display: Fix support for MDP 4.1

 * MDP 4.1 still does not support the borderfill pipe, baselayer logic
   should not be used.

Change-Id: I587bdff4a03ced141e43819eea70cec1aedaeb7b
libgralloc : Fix SECURE_MM_HEAP case. Fixes Video playback on 8660

Change-Id: I71cab90457b5a7e9b059c49d904c8993ebdc34e5