Isolating board dependencies

I've made the modifications you proposed in #775.
You can trash #775 and apply this new pull request.

About UART, I2C and these peripherals, what do you prefer ? Preprocessor commands, variables settings, or something else ?

Have a good day.
Arnaud