rewrite nRF8001 library using softwareSPI / Bitbanging

Hi guys, Im working on a project using a CAN bus shield and also an Adafruit nRF8001 BLE module. Both use an SPI bus but with different SPI clock speeds and bit orders. I know I can re-initialize the SPI bus whenever I switch between the 2 modules but as often as I will have to do that I would much rather be able to bit-bang the BLE module and keep the CAN module running on the hardware SPI bus lines.

I have no idea where to start with this, can anyone take a look at the BLE library below and give me some pointers or a place to start on my research for this.