replace push/pop with push_back and pop_front

This is because of the recent libcollections reform. There was a bug in
the old code: I assumed that for a ring buffer, push would push on one
end, and pop would pop off the other end, but this was not the case, pop
and push both acted on the same side of the buffer. This has been fixed
now, and it demonstrates that the new, explicit names are better.

The bug in the old code also affected performance measurements. Instead
of averaging the last 512 measurements, it averaged the first 511 and
the latest one. In practice the results should not differ by much,
because 512 measurements at an interval of 30 seconds is still more than
four hours of rendering, and the (theoretical) contention when rendering
starts seems to be diffused out after a few minutes already, so the
impact on the final average is minimal. Therefore, I think my previous
measurements can still be considered to be valid.