updated for current teensyduino 1.20 RC2
new start/stop interface
uses dynamic DMA channel allocation
uses dynamic interrupt vector table in RAM
uses SPI transactions