initialize(el, width, height, origin, scaleFactor) {
      this._root_el = domChild(el, 0, 'div');
      const bottomEl = domChild(this._root_el, 0, 'div');
      const topEl = domChild(this._root_el, 1, 'div');
      this._root_el.style.position = 'relative';

      // Set position absolute to overlay svg on top of canvas
      if (!OPTS.debug) {
        bottomEl.style.height = '100%';
        topEl.style.position = 'absolute';
        topEl.style.top = '0';
        topEl.style.left = '0';
        topEl.style.height = '100%';
        topEl.style.width = '100%';
      }
      this._svgEl = OPTS.svgOnTop ? topEl : bottomEl;
      this._canvasEl = OPTS.svgOnTop ? bottomEl : topEl;

      // pointer-events to none on SVG layer so that canvas gets all events
      this._svgEl.style.pointerEvents = 'none';
      this._canvasRenderer.initialize(this._canvasEl, width, height, origin, scaleFactor);
      this._svgRenderer.initialize(this._svgEl, width, height, origin, scaleFactor);
      return super.initialize(el, width, height, origin, scaleFactor);
    }
Initialize a new HybridRenderer instance.
@param {DOMElement} el - The containing DOM element for the display.
@param {number} width - The coordinate width of the display, in pixels.
@param {number} height - The coordinate height of the display, in pixels.
@param {Array<number>} origin - The origin of the display, in pixels.
  The coordinate system will be translated to this point.
@param {number} [scaleFactor=1] - Optional scaleFactor by which to multiply
  the width and height to determine the final pixel size.
@return {HybridRenderer} - This renderer instance.