simplify: Improve seam and border collapses
simplify: Improve seam and border collapses

Instead of blindly collapsing any edge between two border or seam
vertices, we now are looking at whether the vertices follow each other
in an edge loop.

This requires building a loop structure beforehand (which we do when we
classify vertices since we have all the required information at this
point), and, crucially, updating this data when we do collapses so that
future passes can correctly check whether two vertices are connected.

As a result, we get better behavior in corner cases where two relatively
simple edge loops meet.

zeux/meshoptimizer,zeux/meshoptimizer,zeux/meshoptimizer