Use circular list to implement dynamic array.

No need to copy data when there is free space. Although we keep 1 slot
open to distinct empty/full of buffer.

你觉得如何？