text: Title: Use new utility method `select_streaming_callback` in all ChatGenerators
  Body: As we have added `run_async` methods to our ChatGenerators we brought over a useful utility method https://github.com/deepset-ai/haystack/blob/209e6d5ff0f30f0be1774045de2491272bd2bdc2/haystack/dataclasses/streaming_chunk.py#L32-L34
  which checks the compatibility of the streaming callback with the async or non-async run method. 
  
  We should make sure to use this to all of our ChatGenerators. It's currently only been added to HuggingFaceAPIChatGenerator (both run and run_async methods) and the OpenAIChatGenerator (only the run_async method)