function createTexturesAsync(gl, options) {
  return new Promise(function (resolve, reject) {
    createTexture(gl, options, function (err, textures, sources) {
      if (err) {
        reject(err);
      } else {
        resolve({
          textures: textures,
          sources: sources
        });
      }
    });
  });
}
Creates textures based on the options passed in.

see {@link module:twgl/textures.createTextures}.
The only difference is this function returns a promise
where as the other returns a texture and takes a callback.

Note: this is here for completeness. It is probably better to use
the non-async version as it returns usable textures immediately
where as this one you have to wait for them to load.

@param {WebGLRenderingContext} gl the WebGLRenderingContext
@param {Object.<string,module:twgl.TextureOptions>} options A object of TextureOptions one per texture.
@return {Promise<CreateTexturesInfo>} The created textures and sources.