Simplified interface
Updated with Samuel's changes + simplifications + buffer reuse in camera preview (which may not work)