Rewrite auto-focus loop to be more robust, like continuing even if camera driver errors