Texture allocation overhaul

Removed the tedious 'borrowing' of textures and just keep a list of
'recycled' textures. Also put all things that are needed to render a
chain in 1 class.

Also created 'StaticRenderer' which removes the need to keep a copy
of the Renderer for simple things like scaling textures, rendering
shaders etc. This is still experimental.