A VecStack presents as a stack of Vecs where only the vector at
the top of the stack is accessible. It is backed by a single Vec
whose allocation is reused as elements are added to and dropped from the
stack, and so it can be more efficient than allocating individual
vectors.