Utility loaders to asynchronously create texture at launch and manage it correctly

Another proposal for #2049 which encapsulate Texture derived class inside loader to avoid confusion.
Those derived classes are only usefull when registering loaders and generates no conflict with TextureLoader...

What do you think ?
From the description it appears that this is a caching texture loader for textures that where created programmatically (e.g. "FreePaintTextures"). Should be called CachingPaintedTextureLoader, and the other loader should be called PaintedTextureLoader.