Part4: Render Device abstraction

Part of bug #969

Moved local to global transformation implementation from SDLRenderDevice
into RenderDevice so it could be reused by other RenderDevice implementations.