Adding progress-bars to pipelines
### Feature request

In order to implement https://github.com/huggingface/evaluate/issues/442, in order to provide progress bars while using `evaluator_instance.compute(..., progress_bar=True)`, we would have to update the `base.py` pipeline in order to support this.

Quoting the referenced issue from evaluate:

After doing some digging, It's a matter of if the dataset+pipeline can support progress bars. For example, on the [call](https://github.com/huggingface/transformers/blob/main/src/transformers/pipelines/base.py#L1046) pipeline function, we can see that the actual pipeline could be many things, including but not limited to a GeneratorType (which does not advertise a __len__, a Dataset or a list (which typically have __len__), so the worse-case progress bar you can get would be a tqdm "X iterations / s" dialogue.

### Motivation

Progress bars are always nice and they are relatively simple to implement: just wrap an iterator. 

It gives us a qualitative sense of what we're doing. If the underlying unit supports `__len__`, it's extra useful for debugging or giving a rough processing estimate without having to run through everything.

### Your contribution

I'm willing to contribute given some guidance from the hf team.
cc @Narsil <|||||>Hey, you can already to that:

```python
import tqdm

for out in tqdm.tqdm(pipe(dataset)):
    pass
```

When using an iterating dataset instead of a real dataset you can add (`total=total` to get the "correct" progressbar).

Advantage of having the progressbar in usercode is that we don't have to choose your favorite progress bar or handle colab+jupyter weirdness here.<|||||>@Narsil I am referring to passing in a progress bar argument into the pipeline's `__call__` function, in order to accomplish 
 https://github.com/huggingface/evaluate/issues/442, not to adding progress bar to dataset iteration.<|||||>This can be done in `evaluate` directly is what I was saying.