Explicitly pass dependencies to devices.
Removed implicit cpu0_freq from implementations.

o feature: added spi_get_conf.
o feature: implemented Ispi & Iuart.
o bugfix: uart.getchar and uart.putchar was conflicting with macro
  implementations of stdio.
o feature: documenting API design in doc/api_design.txt.
o bugfix: template generation was only working for device0.