Update SPI to use the platform driver

I was having problems with SPI and found Bcm2835 wasn't being init'ed because the Platform.driver changes weren't applied to SPI. I also tried to add a couple basic SPI spec tests