a ruby port from the awesome tqdm python package: https://github.com/noamraph/tqdm/