Added a RenderSurface to Scene. this render surface is used when a command doesn't define an explicit target (this render surface is the default output surface of commands). Normally, this render surface is null which
means the rendering will go to the back buffer, but can be set to a render surface to support rendering into a texture