added square overlay/cropping and camera swap/flash mode selection

I am using your sample code as a basis for some experimentation before adding the functionality into a larger application. As such, I have added the camera swap feature, flash mode selection feature, and added an overlay view on top of the surfaceview to represent the cropped area and cropped the image before handing it to the photo view activity.