Turn off IRQ on stopWaveform after Tone timeout by earlephilhower · Pull Request #7232 · esp8266/Arduino

@earlephilhower

Fix esp8266#7230 (until 3.0 when this whole code will probably change).

Before, a timed out pin would clear its bit in `waveformEnabled`.  The
logic in `stopWaveform`.  If only one tone was running and timed out,
`stopWaveform` would check the `enabled` bitmask and see nothing active
and immediately return w/o cancelling the IRQ.  So, the IRQ would be
called every 1/100th of a second and return immediately when no work to
be done was detected.

Remove the check and always send in a `waveformToDisable` bit.  It's
save to disable an already disabled pin, so no logical consequences will
occur, and the final IRQ disable will be executed when appropriate.