def append(event, frame, arg)
      item = EventStruct.new(event, arg, frame)
      @pos = self.succ_pos
      @marks.shift if @marks[0] == @pos
      @buf[@pos] = item
      @size     += 1 unless @maxsize && @size == @maxsize
    end
def append(event, frame, arg)
      item = EventStruct.new(event, arg, frame)
      @pos = self.succ_pos
      @marks.shift if @marks[0] == @pos
      @buf[@pos] = item
      @size     += 1 unless @maxsize && @size == @maxsize
    end
Add a new event dropping off old events if that was declared
 marks are also dropped if buffer has a limit.