Generate: `ImageToTextPipeline` now supports generation kwargs
# What does this PR do?

As the title indicates -- previously the generation kwargs had to be passed as a separate dictionary, which was inconsistent with the other pipelines. 

This PR borrows code from the other pipelines, to allow things like `pipe(input, min_new_tokens=10)` (as opposed to `pipe(input, generate_kwargs={"min_new_tokens":10})`). It also updates the docs, which were slightly outdated.

Fixes #24836 
 > This PR borrows code from the other pipelines, to allow things like `pipe(input, min_new_tokens=10)` (as opposed to `pipe(input, generate_kwargs={"min_new_tokens":10})`). It also updates the docs, which were slightly outdated.

Actually, other pipelines that accept anything, are the ones that have been done so because of legacy reasons.
Accepting anything causes headaches because `generate` can arbitrarily add new kwargs, some of which could clash with existing pipeline kwargs.
The first one that comes to mind is `max_length` which already clashed with tokenizer `max_length`.
I really think this is a bad idea, and that whitelisting is better.<|||||>Ah ah, glad I asked 😅 <|||||>_The documentation is not available anymore as the PR was closed or merged._<|||||>@Narsil @sgugger I see, arg clashing is absolutely undesirable!

Explicit whitelisting (like `max_new_tokens` in `ImageToTextPipeline`) also seems excessive -- different modalities/tasks benefit from controlling specific parameters, so we would have to pick between additional maintenance burden + large docs and usage capabilities.

How about we move all generative pipelines to accept a `generation_config` (with the proper deprecation cycles and doc changes)? It would be an explicitly whitelisted argument from the pipeline perspective while enabling the vast majority of generation modes.

[Regardless of the specific decision here, I believe we would benefit from making all pipelines consistent with each other.]<|||||>That works for me!<|||||>`generate_config` seems even better than `generate_kwargs` !<|||||>Awesome, I'll close this PR and open a new one reflecting the decision here 👍 