* Move interrupt handling in EspBitBangMethod
Move the interrupt enable/disable in to the common
neoEspBitBangWriteSpacingPixels function.
* Check interrupts during ESP bit-banging
Rather than leave interrupts completely disabled, check in between
elements. If interrupted for long enough to complete an update, retry
from the beginning. We don't yield to the system context, so only
interrupt processing goes on.
This is intended to stave off interrupt related crashes (hard WDT
resets) experienced when a too-long strand is used with a too-busy
network. Essentially it trades off correctness for stability.
This logic is inspired by the workaround used in FastLED.
* Replace TInterPixel with TLatch when bit-banging
In NeoESPBitBangMethod, remove the minimum time between pixels, and
replace it with a maximum time between pixels. Use the outer function
to handle the retry logic.
* Support no interrupt mode when bit-banging
* Add no-interrupt bit-banging method typedefs