Better smoothed normals & deferred OptimizeMeshes step

For your consideration:
1) I moved OptimizeMeshes backwards, until after the primitive type and vertex format of all meshes are final. Right now, I don't see a problem with this, but you should check if you remember any shared hidden state that could be broken by this change.

2) I removed normalization of face normals during smoothed normal gen as it gave bad results with long, thin faces and imprecise vertex positions, probably resulting from imprecise modelling and/or CSG operations. I don't think this change breaks anything and I assume it gives significantly better results in most if not all cases. (Effectively, small & potentially imprecise faces now contribute less to the final normal than larger faces, see e.g. http://iquilezles.org/www/articles/normals/normals.htm).