Add an SPI transfer function that pass in RX/TX

When using SPI, I prefer to not have to do malloc/free functions for
each transfer, so why not have a transfer function that you can pass in
both buffers.  With my ILI9341 TFT display code that gave some perf
wins, also more of a win, you can pass in NULL for recv buffer and the
underlying device driver does not have to copy the data.