text: Title: Agent support multiple exit conditions
  Body: **Is your feature request related to a problem? Please describe.**
  I'm testing out the new experimental Agent implementation, which feels great (I'm not sure if I should create these issues here or in the haystack-experimental repository).
  
  In my use case, In addition to the text responses, I also have multiple tool exit conditions, not just one. For example, think of an AI bot that can render different UI elements. Each UI element is a separate tool for the Agent. (same way as [Vercel's AI SDK generative UI](https://sdk.vercel.ai/docs/ai-sdk-ui/generative-user-interfaces) works).
  
  **Describe the solution you'd like**
  The agent could take a list of `exit_conditions` rather than only one. It could include `text` but also multiple tools that should end the loop. This way, the Agent could answer text (for example, ask a question from the user) or trigger one of the many UI tools.
  
  Especially after [the latest change](https://github.com/deepset-ai/haystack-experimental/pull/245) on how the Agent is implemented, I see this could be trivial to implement. Change the `exit_condition` to a list of str and check if the tool is in the list (or if the bot decided to answer text and if the `exit_condition` includes `text`).
  
  **Additional context**
  - The latest update to Agent impl. https://github.com/deepset-ai/haystack-experimental/pull/245
  - Example feature in Vercel SDK https://sdk.vercel.ai/docs/ai-sdk-ui/generative-user-interfaces
  