addExtension (name, initfn, initArgs) {
    // Note that we don't want this on this.ready since some extensions
    // may want to run before then (like server_opensave).
    if (!this.svgCanvas) {
      throw new Error('Extension added too early')
    }
    return this.svgCanvas.addExtension(name, initfn, initArgs)
  }
@function module:SVGthis.addExtension
@param {string} name Used internally; no need for i18n.
@param {module:svgcanvas.ExtensionInitCallback} initfn Config to be invoked on this module
@param {module:svgcanvas.ExtensionInitArgs} initArgs
@throws {Error} If called too early
@returns {Promise<void>} Resolves to `undefined`