Generate: Add text streamer decoding options
# What does this PR do?

In advance of communicating the iterator streamer with Gradio demos, adds two important options:
1. option to skip the prompt in the streamer (e.g. for chatbots)
2. option to receive `decode()` kwargs (e.g. to skip special tokens)

It also makes use of the changes in #22516 to make the iterator streamer much more compact -- it is now a child class of the stdout streamer, with a few modifications.
_The documentation is not available anymore as the PR was closed or merged._