Create a ReadMeshData extension to remove duplicate code
Remove the vertex type from the MeshData

Mesh data is always identified by type in Mesh, so the identifier here
is redundant
Use ints instead of uints because List expects indices to be ints
Remove type fixing and strict numbering of VertexType

No need
Parse the vertex buffers into Vertex arrays instead of keeping them as raw byte data

The offsets and lengths in the Mesh class are in units of Vertices, not bytes. Therefore, in order
to use the Mesh data, we need to parse the Vertex buffers into Vertex arrays.

First we classify each vertex buffer as holding either SIMPLE vertices or COMPLEX vertices. We
assume that the whole buffer uses the same type.

Then we read through each buffer using the classification to "cast" the byte array to a
Vertex array.
Use plain arrays to hold Map data instead of Lists

We know the size at construction time, so there is no need to have
the ability (and overhead) to grow.
Rename Load() to make it clear that it's loading from a NVR file
Create a class and method for writing a LeagueMap to obj file