smdk4412-common: camera: reorganize camera parameters

Few Scene modes require Flash and few don't. However all of
the scene modes require the focus to be AUTO. Reorganize the
camera parameters to set the Flash and Focus modes based on
the scene mode.

Changes adapted from Exynos5 Camera HAL.

Change-Id: If3ab62a1d8aecf84d2a04d1e899f71d4315a66ea

Patchset: 2
http://review.cyanogenmod.org/#/c/54640/
(cherry picked from commit 27211279a745c82a2d27248318b4383312837989)
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

Patchset: 1
http://review.cyanogenmod.org/#/c/54690/
(cherry picked from commit 89614ba2cd6ef05318f2d27d24c42759e460227d)