libc2dcolorconvert: Add compatibility with older libc2d

The C2D implementation on Adreno200 either lacks the map/unmap
functions, or returns invalid values, so fallback to the direct
usage of /dev/kgsl nodes to map GPU memory when the symbols are
absent.

Change-Id: I243d2ef6f4257bace2c785230d71cd032a5b6a09
mm-video: venc: Distinguish between normal NV12 and aligned NV12

Encoder has a hard-requirement of 2K alignment of UV plane.
Apps and other non-camera sources (not aware of this alignment)
will queue YUV420SP buffers, which need an explicit alignment.
But for some other apps(e.g VT) that are aware that the component
wants aligned NV12 and would align it themselves, causing the component
to muck up the buffer by realigning it.

To prevent the confusion, the component now makes a distinction between
NV12 (OMX_COLOR_FormatYUV420SemiPlanar) and aligned NV12 (QOMX_COLOR_\
FORMATYUV420PackedSemiPlanar32).  Clients who prefer to provide aligned
buffers will now set the latter as the input port format.

Change-Id: I73c337660fb825e9b267663266fd4b9d6e35443e

Conflicts:
	mm-core/inc/OMX_QCOMExtns.h
	mm-video-legacy/vidc/venc/src/omx_video_base.cpp
Merge remote-tracking branch 'cm/cm-11.0' into kk-4.4
100% sync with CM