Modified code to take in new face format, which includes texture coordinates and vertex normals.
Incorporating OpenVolumeMesh library to track vertices/faces/edges for me.  Ends ups reducing a lot of the code in ObjElement.
Gutted ObjElement Vertex class, relying more heavily on OpenVolumeMesh's Vertex.
Added subdivision class.  Compile error prevents using
OpenVolumeMesh's properties as attributes for vertices.  Instead,
created own set of unordered maps to keep track of vertex original
positions and whether they are even or odd.
Subdividing surface now works.  About to add adjustment of vertex positions for smoothing.