Use separate thread for camera callbacks (merged with CameraPreviewThread branch).