I started a SDL 2.x header translation a few years ago (stopped as at the time there were license issues, the API was changing a lot) and would be willing to put some work into this if needed.

I'm surprised to learn that they've got multi-window support covering OpenGL, I will have to look thru the code and see what threading setups they allow, I'm guessing they only support a single thread for all GL windows due to Linux + OSX context sharing abstraction. Tricky on Cocoa in general as well! I disabled multi-window support in my framework as the design required to handle per window thread setups with seperate GL contexts made things very messy, requiring a whole layer of abstraction and another set of concurrency wrappers to upload and track data across multiple contexts.