Add cropping for nexus 5 to support 16:9 sizes.

Based on Seth's proposal of faking a new resolution setting.

Improvements made:
1. Move the cropping to a background thread.
2. Refactored to start the preview early to avoid jankness from waiting for the
   cropping.
3. Fix the wrong width and hight in EXIF. The original logic is to use width and
   height from the camera parameters. Now this is not true anymore.
4. Add check for Nexus 5 for the support to take effect.

Change-Id: I37515fc394b31539644a33b6d32840baf205e15c
4 files changed