Rate limiter: add bucket tokens on every :push()

Removes the `:tick()` method and instead uses the time delta between `:push()` iterations to add tokens to the bucket.