new Texture2DPool
A pool of textures. Textures created from the pool will be released back into the pool
when destroy() is called, so future calls to create may re-use a released texture.
Texture pools are useful when textures are being created and destroyed repeatedly.