Eliminated CameraActivity.mHolder because it was unnecessary.
This is a small cleanup before a big refactoring.
Isolated CameraThread from CameraActivity, 
encapsulating all camera hardware accessing codes in CameraThread.
Use separate method for UI thread parts and camera thread parts in
CameraThread.

Added focus control methods to support a shutter button, 
that is a combination of CAMERA key and FOCUS key in a single hardware
button.
Some minor updates to Camera codes.
In CameraThread, introduced camera state to manage what operation is
valid and what is
invalid in a consistent way.

In CameraActivity added support for shutter (FOCUS+CAMERA) key and D-PAD
CENTER to take a picture.
slightly loosen the coupling of CameraThread and CameraActivity.
many code cleanup.
Changed the control flows of CameraThread.

Changed the behaviour of CameraThread.unlockFocus() 
when
CameraThread.shoot()
has
been
issued
but
the actual shooting is not yet started.

Added/updated several comments.
Wrote a no-placeholder version of README.md
Corrected em syntax in README.md
More on README.md
README.md again... I should have created a dedicated branch for
README.md editing. If this was not good, I will!
Ok. I gave up adding an app icon in README...
Merge branch 'ui' into release
Merge branch 'capture' into release
In preparation for release 0.82.
Updated the release note for 0.82.
Merge branch 'master' into release
Removed redundant rules (clauses) from the solver.
Introduced a configurable parameter N so that the solver code can be
applied for larger (i.e., 16x16 or 25x25) puzzles easily.
The previous commit that replaced hard-coded constants with symbolic
constants in PuzzleSolver was incomplete.

I considered that NN is a better name than M for a constant
to mean N*N.
Corrected some comments in OpenCVInitializer