Improve normal calculation to take into account UV differences
This is an edge case, but when a model has UV seams (e.g., two vertices share the same position/normal, but have different UV coordinates), then cracks can appear in tessellated geometry due to different normals.