Split TextureCollection into partial classes

for different graphics APIs.