Add/external sdcard

1. Adds external sdcard capability.
2. fixes several Mbed bugs in the process.
3. SDCard switched to use mbed::SPI so the frequency is switched between different peripherals on the SPI bus. (if this causes issues then ::SPI needs to be updated to do the same, but testing seems to show mbed::spi works fine).
4. minor refactor of lcd code