msm8960: Enable ZSL in video mode too

Change-Id: I2cdf38268cc27bf1a2056d97482e93d547c60ff6
camera: Don't forcefully enable ZSL

Enabling ZSL without the app being aware of it is a bad idea, and can
lead to a 3rd party app trying to mix it with incompatible options with
unpredictable results. Disable it unless the camera explicitly requests
that feature.

Change-Id: Ia655f5185720cd69577c2c3006662df63e8535ef
add ISO 50 mode for d2

Change-Id: I1211150262739cced8c5c3635c5151cdaf06105c
msm8960: fix samsung camcorder mode the right way

A lot of these modes are inter-dependent. Don't mess with Samsung camera
mode if it's already been set.

There is also a problem with apps which use the FFC for video chat, that
don't set the recording hint properly. Detect them from the special
video frame rate used.

Change-Id: I8f1fc611a2f100d0438447c25103fc44917c5d87
toggle ZSL mode properly

D2's camera HAL is very stupid and it leaves camera_mode on even when
ZSL has been turned off.

Change-Id: If2216c8f7ae40ad272fb6048d955b3f99a46f6fe
fix this mess

camMode and ZSL are persistent across camera switches and switches from
still video to camcorder, resulting in inconsistent states.

The fix:
Don't just detect if camMode is unset, since the previous set state is
too persistent. Instead, test specifically for the special mode Snapchat
sets that the wrapper would never set, where the recording hint is not
on but camMode is.

Ensure we are only enforcing the Hangouts exception for the FFC.

Restore the previous ZSL logic. It worked just fine.

Change-Id: I0751c12ebd4035a86682e9c9c76b7e2d422cbc7e
Various camera fixes

Sometimes camMode is left on when switching from video to still mode.
Detect the switch and allow it to be reset.

Do not set camMode on rear camera (yet).

preview fixes for ApexQ

Change-Id: I1ff0153ccb402e0e67e1660210829f07a90dee7a
d2lte: fix Skype video chat

Change-Id: Ife14f9c54b0cd77457fc8a76597d73ab870df947