Better graphics handling

Finished most of it. Working as before but a bit better/faster. Please merge soon to avoid to much diverging of the branches.
Be careful with the changed meaning: "null" means no Texture, not an Index of "-1" anymore. Going to force an Index/ID>0 later.
Also I changed the names: Index->ID; ID->TexName (OpenGL specs). Now it really reads texture.ID=IDs.Deqeue();