camera: add support for samsung and htc camcorder modes

Change-Id: I56739157380f596c9f3bbbe7aecd8f532d619c72
camera: allow setting video-size before recording starts

Needed for some samsung cameras.

Change-Id: Ia0f5716d5e6815d249040b08313482a103a36863
camera: Add options to better control video preview size

 * usePreferredPreviewSizeForEffects is needed to fix camcorder effect on
   some MSM8660 devices.
 * Add ignorePreferredPreviewSizeForVideo to use the best size reported
   by the driver instead of the preferred-preview-size-for-video value,
   which may report something really awful.

Change-Id: I216502fe032a89f69e1aea11bc50c51634d40991
camera: Add ZSL support for Samsung/Qualcomm cameras

 * Preview management for Samsung/Qualcomm cameras

Change-Id: Ib36bd21c9a76b45bced3eee2f25acc35b5d82b30
Always use recording dimensions for preview

Some devices, like apexq, require the preview dimensions to be the same
as the recording dimensions.

Change-Id: I307fb4c0d4df37abe0a045a69693f480022fc597
Camera2: make panoramic focus mode configurable

 - Port from cm-10.2
 - This allows for device maintainers to switch between
   INFINITY and CONTINUOUS_VIDEO focus modes.  Some devices
   do not support INFINITY so the image and preview are both
   out of focus.

Change-Id: I714ad4dc6c329565b9620ff12ebb830555a5d1ef
add wantsFocusModes

Change-Id: I7cc95849bdcc0a9300259d0b6dc0f55add66303f