added support for textures with different widths/heights than 512x512 and load textures properly using Futures