Implement compaction for vertex list

* internal helper - to be called from mesh
* shuffles alive vertices down to fill the gaps left by dead ones
* list count reduced by the number of dead vertices
* test included