This returns a const T& for the first element in the queue, without dequeuing it.
The underlying data structure is a singly-linked list of Vector<T>. We never shift any of the vector contents around, but we batch the memory allocations into 1000-element segments.