Introduce the concept of a render deivce.

Introduce an abstract RenderDevice base class. Provide an implementation
SDLBlitRenderDevice. This can co-exist with the current implementation
that directly uses SDL_BlitSurface() to render to the screen. So I can
develop the rendering based on Renderables step-by-step with full
functionality. Once this works, the OpenGLRenderDevice will become
alive.

For now, all SDLBlitRenderDevice does is providing the SDL video
context, blanking the screen and commiting a new frame. Actual rendering
will be added step-by-step.