SM/VIO: Robust Underwater State Estimation Switching Between Model-based and Visual Inertial Odometry