Make WallGeometry subsample so it matches the curvature of the ellipsoid

Added `scaleToSurface` to `PolylinePipeline`, which subdivides positions of a line and raises them to the ellipsoid surface.  This uses the new class `EllipsoidGeodesic`.  `WallGeometry` calls this function to raise the wall positions up to the surface of the ellipsoid.