Mesh optimization performance: Set list items to None instead of removing them
Add mesh optimization tests
Fix number of deleted vertices info message
Properly indent <Vertex> and <Face> nodes
More performance optimizations.

 - Cache values of len(...) that do not change
 - Do not build the list of UV maps for every face of the mesh, but only
   once per mesh
 - Inline the can_merge_vertices function
 - Do more early-abort tests in the mesh optimization routine before
   calculating actual vertex distances
 - Do not compute angle bisector of two normal vertices during vertex
   merge if the two vertices already share one normal vector
Add printing of callers to commented-out profiling code
Performance: Use tuples instead of lists, fewer max()/sqrt() calls

 - Use tuples when possible
 - Calculate only the square of the bounding radius until the very end
   and do a simple comparison instead of a call to max()