StreamSPI: add SPI driver for Stream i/o

This allow to emulate a typical serial communication over the SPI bus

quick description of the driver
===============================
CPU and MCU exchange frames in order to communicate. This frame are
composed by:
* frame length  : 1 byte
* frame payload : from 0 to 255bytes

The driver use 0xFF as escape byte.
0xFF 0xFF : is a    valid 0xFF
0xFF 0x00 : is an invalid 0xFF

When sending or recieving an invalid 0xFF all the following byte will be
dropped.

The driver is configured as SPI slave, so it must request the clock to
the master unit in order to send a payload to the master unit. To do this,
the driver raises an interrupt and on the first byte transmission it sends
an empty frame to the master unit. The empty frame contains only the lenght
of the payload that it will be transfer. The master unit will generate
an SPI clock necessary to transfer the whole payload.

Signed-off-by: Federico Vaga <federico.vaga@gmail.com>
lininoOne: added the proper doghunter USB-id for LininoOne board
Linino: added windows driver for LininoOne board