a framework for game programming with sdl2