smdk4412-common: camera: several fixes for autofocus

Setting the AutoFocus off using V4L2_CID_CAMERA_SET_AUTO_FOCUS will
reset the AF position of the sensor and this was done whenever
autofocus was completed. This totally defeated the purpose of touch
to focus since the sensor AF position was being reset after focus
and had to be refocussed while taking the snapshot. This also led to
several issues with third party applications since this kind of focus
behaviour was not intended.

S5C73M3 Back camera Interleaves YUV and JPEG along with metadata. This
metadata contains the AutoFocus result. Hence we could parse the
autofocus result instead of using V4L2 IOCTL, which is more efficient.
Also, the sensor exhibits issues when AutoExposure and AutoWhite Balance
locks are used with Flash ON. Improper locking could lead to freezing of
the sensor while taking a snapshot. Hence, only lock AEAWB when flash is
OFF and unlock them after AutoFocus finishes.

Change-Id: Ief28005dcacd0f8f04990ef8eafebff4a2f109d5
smdk4412-common: camera: enable ZSL mode on front camera

We are querying FIMC2 for the capture output and hence we
have no reason to restart the preview to have the preview
resolution match the capture resolution, which is not how
Zero Shutter Lag works. We could have different resolutions
for the preview and capture, hence don't stop the preview
for resizing.

Change-Id: Iaf2b4d0c51dbedb9516b7c3cdde09aa18cd95f73
smdk4412-common: camera: fix incorrect jpeg thumbnail height

Change-Id: I139823883d91ddaa48e2516511539ff5fe150e25
smdk4412-common: camera: fix heap corruption

Change-Id: I0111615b9d4552a7880598a83bc98060fa900b13
smdk4412-common: camera: include support for face detection

Change-Id: I1d176bdf17abdcf0c593fceb01808348b87b75ce