> This precludes sdl2, which uses a polling (i.e. queued) event mechanism.
What do you mean? I have written an immediate mode UI on top of SDL2 and so have many others. On the contrary, SDL2 is a prime example of how event handling can easily serve both cases.