Rendering refactor

Replaces Pull request #895
* Leave Renderable class without changes
* Move most API related code to SDLRenderingDevice
* Wrap SDL_Surface and positioning into Sprite class
* Move all rendering to rendering device
* Redirect rendering of Renderables to Rendering Device

All SDL_Surface specific work should be done inside SDLRenderingDevice so I guess it's overhead to add another Image class as suggested by @clintbellanger. But if we will need it we can do it.