Text this: A visual SLAM algorithm based on point and line features in weak texture environments.