[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
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
Merge remote-tracking branch 'upstream/cm-10.1' into cm-10.1