chore: update SDL2 to SDL3
This MR updates the SDL2 dependency to SDL3, making the necessary code changes as well. I've specifically elected to use the ppy.SDL3-CS bindings, since the official bindings are not available on nuget.
The Ryujinx.SDL2.Common, Ryujinx.Input.SDL2, Ryujinx.Audio.Backends.SDL2, and Ryujinx projects had code updated in them to migrate them to SDL3. I've also changed string references to SDL2 in other projects to say SDL3.
Known issues:
- I cannot get Headless mode to work, however headless mode on master produces the same error for me, so it it unlikely that sdl3 has broken anything.
- Controller GUIDs are different between SDL2 and SDL3, so users will need to manually setup their controllers again, only once though.
Generally, things are in an untested state. While everything I have thrown at it has worked, I am limited in the hardware I have access to. For the record, I have tested my changes thoroughly on archlinux and macOS, using a switch 1 pro controller.