async render({ fire = true, goto = location.hash } = {}) {
    const styles = await this.read({ target: 'styles' })
    const pending = styles.changed && this.stamp(styles)
    const md = await this.read({ target: 'body' })
    if (md.changed) {
      const parsed = this.parse(md)
      await pending
      await this.tick()
      await this.stamp({ ...md, text: await parsed })
    } else await pending
    await this.tick()
    const detail = { styles: styles.changed, body: md.changed }
    if (fire) this.fire('zero-md-rendered', detail)
    if (this.auto && goto) this.goto(goto)
    return detail
  }
Start rendering
@param {{ fire?: boolean, goto?: string|false }} obj
@returns {Promise<*>}