renderAsync(scene, markTypes) {
      const r = this.render(scene, markTypes);
      return this._ready ? this._ready.then(() => r) : Promise.resolve(r);
    }
Asynchronous rendering method. Similar to render, but returns a Promise
that resolves when all rendering is completed. Sometimes a renderer must
perform image loading to get a complete rendering. The returned
Promise will not resolve until this process completes.
@param {object} scene - The root mark of a scenegraph to render.
@param {Array} markTypes - Array of the mark types to render.
                           If undefined, render all mark types
@return {Promise} - A Promise that resolves when rendering is complete.