async destroy() {
    this.removeListener();
    this.channels.forEach(ch => ch.destroy());
    this.channels = [];
    if (this._midiOutput) this._midiOutput.onstatechange = null;
    await this.close();
    this._midiOutput = null;
  }
Destroys the `Output`. All listeners are removed, all channels are destroyed and the MIDI
subsystem is unlinked.
@returns {Promise<void>}