setting up for new library version
Initial checkin of FastSPI_LED2 core files
Added simple example code
* modify pin code to gracefully choose between accelerated pin access for platforms (arduino, teensy2) where we have defined pin/port mappings and fall back to standard arduino libs when we don't
* provide definitions/support for teensy 2.0 pins
update example
Tweak some class names.  Add compile time messaging for missing information for accelerated pin access or hardware SPI access
* Fix latch handling in the SPI classes (lo when transmitting, hi when not)
* Make it so that the template parameters for adjusting timing are based on NS timing values of the underlying chip
* preliminary code (untested) for putting output over the USART chip instead of the SPI chip.
Complete support for the teensy 3.0 platform:
* Compile time toggle between hardware SPI & software bit-bang'd spi
* Implementation of clock-less chip support (tm1809, ucs1903, ws2811, etc...) for teensy 3.0
* Speed parameter for spi chipsets now a value from 1-255 with speed mappings to line up to hardware SPI div values (finer tuning of SPI control when bit banging!)
* FastPIN definitions for Arm GPIO - not using bitbanding, other mechanisms still faster!
* Disable AVR USART spi support - not working at the moment
* Add __attribute__((always_inline)) everywhere, teensy 3.0 compiler requires this to force inlining
Some timing adjustments for ws2811 - account for the fact that teensy 3 at 96Mhz appears to really be 48Mhz
Add more documentation to the library and some slight code cleanup
Some more code/documentation cleanup
Replace latch with select in class/template definitions - they mean two different things
Rename templated Pin class to FastPin and create non-templated Pin access class simply called Pin.  Required to make select pin support work 'correctly'
Pull select pin out of the SPI templates, instead have instantiations of the SPI template take a pointer to a selectable object, and use that for their select/release calls.  Tweak the code that uses the SPI templates to create/pass in the necessary objects.  Be careful to avoid inclusion of malloc/free (~600-900 bytes if done)
Add a guard to the ws2801 definitions to ensure a minimum amount of time between pushed frames, as the ws2801 wants a 24µs delay to re-set the chip listening for data.
Add support for the SM16716 chipset and allow the SPI code to write out a start bit when writing out RGB data
Add a #define people can use before including the headerfiles to indicate whether or not their interrupts may write pins, makes certain optimizations safer, at the cost of a hit in runtime performance
Fix SM16716 support in the library for teensy3 and avr's
Separate out pin definitions for leonardo and teensy.
Add port/pin definitions for the megas