Add BLIP and BLIP-2 to image-to-text pipeline
# What does this PR do?

This PR adds BLIP and BLIP-2 to the image-to-text pipeline.

Usage is as follows:

```
from transformers import pipeline
from transformers import AutoProcessor, BlipForConditionalGeneration, Blip2ForConditionalGeneration

# BLIPv1
# processor = AutoProcessor.from_pretrained("Salesforce/blip-image-captioning-base")
# model = BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-base")

# BLIPv2
processor = AutoProcessor.from_pretrained("Salesforce/blip2-opt-2.7b")
model = Blip2ForConditionalGeneration.from_pretrained("Salesforce/blip2-opt-2.7b")

pipe = pipeline("image-to-text", model=model, image_processor=processor.image_processor, tokenizer=processor.tokenizer)

print(pipe("http://images.cocodataset.org/val2017/000000039769.jpg"))
```
_The documentation is not available anymore as the PR was closed or merged._<|||||>@ydshieh Are these tested automatically now ? Or should we add something to make sure they are tested too ?<|||||>Hey @Narsil !

My PR #21516 is not merged yet, and on `main` it is still using `metaclass`, so the pipeline tests (in theory) are generated on the fly (just as you did before).

But the problem is that we don't generate the tiny models offline yet for newly add models in `transformers`, and therefore those model classes are not tested in pipeline testing on current `main`.

I plan to re-run the tiny model generation ASAP. If it's urgent for this PR, I can do it!<|||||>@NielsRogge Do you mind adding a tiny model and a small test in the `tests/pipelines/` directly for this PR maybe ? (The PR looks good, I'd just like to make sure it's not breaking on small models within tests if possible).<|||||>FYI: I tried to create tiny models for `blip` and `blip-2` using the existing script, but they both failed to create.

- `blip-2`: there is no `Blip2ModelTest` class
  - (there is `Blip2ForConditionalGenerationTest`, as well as `Blip2VisionModelTest`)
  - but the creation script needs to know from `Blip2ModelTest`
  - ~~(I am not really in favor to further complicating the creation script - it's super complex already)~~
  - it's better if we can manage to have some naming convention in modeling test files
    - (I agree that the current test names in `blip-2` make sense however)

- `blip`: processor fails to be created (due to `feature_extractor` attribute)
  - I will try to fix this and create tiny model for `blip`
<|||||>I will try to work on enhancing the script. But if you somehow manage to create them manually (model/tokenizer/processor), go ahead.<|||||>Close this one as the task is completed in #21904

Thank you @NielsRogge for take the initiative.