Use a std::vector for vertex_vector

Greatly reduces memory usage with large collections of small
component geometries. Closes #2200.