Preview orientation

To control the orientation of the preview separately from the orientation of the camera I added `previewOrientation` and `autoUpdatePreviewOrientation` properties.

The preview orientation can be set separately using `setPreviewOrientation`. When `autoUpdatePreviewOrientation` is `YES` (default), it will automatically set the preview orientation when `setCameraOrientation` is called. This results in the same behavior as before.

Sorry for the messy commit history, late night programming takes its toll ;)