I'm a bit confused about this story synopsis, to be honest. How much does the home video game crash of 1983 have to do with video game arcades?
I'll admit that I was still very young at the time, and wasn't living in the USA. I had no idea about the crash until decades later when I read about it as a historical event. Looking back I can recall that console games in my country were a bit thin on the ground for two or three years, but home computers (the 8-bit and 16-bit kinds, not PC/Mac) and arcades kept going strong.
Video game arcades and random video games tucked into corners of takeaway shops and shopping malls were still a common thing for me well into the 1990s. They only really started dying out rapidly in the 2000s due to increasing competition from home systems and computers (this time it was PC/Mac) in terms of power and networking, along with the rise of Internet-connected feature phones and then smartphones, which gave many people an ever-present source of time-killing entertainment in their pocket.
Dedicated arcades with big cabinet games involving custom controllers or displays, or other special features hung on for a while, but those machines rarely appeared anywhere else, and in the end even most of them couldn't keep drawing enough customers to remain profitable.
In my (admittedly limited) experience, SDL/SDL2 is more of a general-purpose library for dealing with different operating systems, not for abstracting graphics APIs. While it does include a graphics abstraction layer for doing simple 2D graphics, many people use it to have the OS set up a window, process, and whatever other housekeeping is needed, and instantiate and attach a graphics surface to that window. Then they communicate with that graphics surface directly, using the appropriate graphics API rather than SDL. I've done it with OpenGL, but my impression is that using Vulkan is very similar.
SDL_gui appears to sit on top of SDL/SDL2's 2D graphics abstraction to draw custom interactive UI elements. I presume it also grabs input through SDL and runs the whole show, just outputting a queue of events for your program to process.