[1/2] Camera: add software HDR rendering

This allows devices without HDR camera (so all phones except Nexus 4
I think...) to actually take HDR pictures. When the mode is enabled,
pressing the shutter button will take 3 shots, one a minimal exposure,
one at 0 exposure, and one at max exposure. The 3 shots are then fed
into a software HDR processor that will merge the 3 images into one
final shot.

There are two algorithms available for merging pictures, one is a
simple average between all pixels, and the second one is based on
Reinhard's algorithm. They all need tweaking, and only the first one
is used for now.
Average algorithm is available in RenderScript form. This beastie
speeds up a lot!

Source shots are removed after HDR is computed

Change-Id: I7a9e52e56258a0c755f4def22db51ac84501ce9a
camera: Restart the preview if record size changes

  * Needed to release the buffers on many cameras when the record size
    changes but the preview size does not. Without releasing the buffers,
    we can run out of ION space and end up with a mangled recording.

Change-Id: I3ebee850b3e20b3920368c8e052a428f6dd9e3e5
Merge "[1/2] Camera: add software HDR rendering" into cm-10.1
Camera: SoftwareHDR: Reduce mem usage and let exposure time get tuned

- The memory usage has been reduced. Instead of doing 3 bitmaps and
  keeping them in memory, only one bitmap is used and recycled once
  copied to the renderscript allocation.
  In counterpart, I had to remove the software (non-RS) processing.
  I haven't seen any issue of devices disliking RenderScript, so
  I think it's fine.

- I added a config overlay to set the exposure settle time between
  the shots. Some devices are faster than others (ZSL devices can
  take less than 1 second, the previous value). I set this to 0.8
  seconds by default, which works fine on i9100/n7000.

Change-Id: Ia067b717a3754ffb423b29a915d2ae411d04f0b9
camera: SoftHDR: Use parallel processing

On an idea from Steve Kondik, the RS script now uses
parallel processing via rsForEach, processing every
line of the image in multiple threads.

Change-Id: I552c61e10abf652c50b8511169886bab0986637e
Util: Disable software HDR if the camera HAL actually supports it

Defaulting to disabling a functional camera capability and replacing
it with an inferior implementation is a bad idea

Change-Id: Ic8dd91721e0a803ba7226a6115c57ca223581819
HDR: only show slide animation after final shot

Also make sure to reset mBurstShotsDone to 0 after taking the
final shot for the HDR image.

Change-Id: I5cb4d5286402b577e097d57aa4cc9d850a317aef
Add external storage capability

Conflicts:

	res/values/strings.xml
	res/xml/video_preferences.xml
	src/com/android/camera/CameraSettings.java
Fix Power shutter

This fixes the Power shutter key not working when you open
the camera app fresh after closing and removing from recent
apps menu, i.e., when its loaded up again.

Change-Id: I25407eff2085769fbd7b11e7bc03ed7a888e0031
Camera: add exposure and JPEG quality settings to video camera

Change-Id: I350484e93f88d229362dee663277a06f132fd4a3

Conflicts:

	res/xml/video_preferences.xml
	src/com/android/camera/VideoModule.java