Remove unused vertices.

When `GeometryPipeline.reorderForPreVertexCache` was called on geometry that had a vertex whose index was not in the list of indices, it would be replaced by all `0.0`s. The zeroes would cause the primitive update to crash when trying to project it to 2D. To fix that problem, there was code added to `GeometryPipeline.projectTo2D` to skip over positions close to the origin but would cause some positions to be at the wrong index.

This removes the unused vertices in `GeometryPipeline.reorderForPreVertexCache`. If the vertices are not reordered, there are no rendering artifacts.

This fixes #1234, but there is still an issue where polygons are generating unused vertices.