SDLGL 2d component based game engine