Add leaky bucket to rate limiting of progress renders.
Add leaky bucket to rate limiting of progress renders.

The leaky bucket makes sure that progress bars are drawn on average a
the desired rate
but allows it to burst faster if progress is not uniform.

It works by having a "bucket" of redraws that are added to every time a
draw is
requested, when the bucket is full the redraws are skipped, for every
tick a redraw is
removed from the bucket.

This is to fix the regression of #166 when join was removed.

mitsuhiko/indicatif