rework Camera using boost::variant. first working --gimbalcam version