this init() call can be called on an existing buffer, in which case we clear the object.
Presumably since we've just zeroed all the elements its safe to say that we should mark the object as having never-been-filled
this fixes a bug where elemnts being pushed into the buffer more
slowly than we recall can be lost
for example, if you push a single element in then try a recall it will
fail