implemented FullDuplex SPI. tested both SPI0 and SPI1 with real devices :D
implemented a single Timer as a CountDown timer, to do more accurate delay_ms stuff than busy-looping :D (Timer6, the "basic" timer). still need to make it a macro/generic to work with timers0-5.
very WIP USART code, that lets me at least print things to a console without a debugger :'(
added a Clocks struct so that I could abstract the clock frequency calculation in the SPI and Timer objects, but currently only hardcodes the default clock values, and doesn't indicate that the clock speeds are frozen in any way.