I moved most of the `AbcMeshWriter` code to a new class `AbcGenericMeshWriter`. The latter is an abstract class and does not make any assumptions about the type of Blender object being written. This makes it possible to write metaballs, curves, nurbs surfaces, etc. as mesh to Alembic files. The `AbcMeshWriter` class now is the concrete implementation of `AbcGenericMeshWriter` for writing mesh objects. Reviewers: sergey Differential Revision: https://developer.blender.org/D4213