Updated texture class structure

Now separating textures, samplers and texture units.