msm8660: device-specific camera wrapper

  * modeled after CameraWrapper in msm8960-common and m7-common
  * allows us to rely less on overlay hacks to packages/apps/Camera2
  * these overlays are still needed:
    - ignorePreferredPreviewSizeForVideo=true
  * old overlays from cm-10.2 that this replaces:
    - useInfinityFocus=false
  * old overlays from cm-10.2 that we are ignoring as they no longer apply:
    - needsSamsungCamMode=true (no longer needed)
    - usePreferredPreviewSizeForEffects=true (effects are not supported anymore)
    - needsEarlyVideoSize=true (done in Camera2 by default)
  * restart preview if the video-size changes; otherwise corrupted recordings
    result (e.g.: 1080p->720p and 720p->1080p)
  * to use: rename vendor/samsung/<device>/proprietary/lib/hw/camera.msm8660.so
    to camera.vendor.msm8660.so and fix the vendor .mk files accordingly.
  * use with media-caf to avoid 5 second delay when starting record

Includes squashed patches from Dave Antoine <bryan2894@gmail.com>:

  * rotation fix for upside down and corrupted videos

  * add CIF profile fix crash when entering settings in Google Camera app
  * use QVGA instead of CIF
https://github.com/AOSPA-legacy/android_device_samsung_msm8660-common/commit/7fa38357d1f7e7fe5712138420ddc88de138f5d8
https://github.com/AOSPA-legacy/android_device_samsung_msm8660-common/commit/328ddb9a8ebab98abae6d5b9e4519b5383bc24c6

  * fix switching from 480p video to picture mode
https://github.com/AOSPA-legacy/android_device_samsung_msm8660-common/commit/6d59d0eb23d841b20bc1ccfef82414a438915139

  * fix low-res preview on front cam by forcing the preview size
https://github.com/AOSPA-legacy/android_device_samsung_msm8660-common/commit/a002f81077dba7ac4154373ce3cae48846a98129

Change-Id: Iab6c400b89c6743e890755c01ad97dc39bde17c6
Merge remote-tracking branch 'upstream/cm-11.0' into cm-11.0