I've never had the need for any of those things. A text-only chat is a cleaner and better chat. Specially reactions, those are rather absurd and irritating.
Audio is definitely a different use case, and Mumble works great for that. You can just host both on the same domain and be done with it. You could even write a client that supports both IRC and Mumble if you wanted to, instead of constantly reinventing the wheel.
And I'm sure you could implement in-line images in IRC if you wanted, after all Twitch's chat is IRC and they have images.