examples/leds.c: add board and bpm number to CLI
hal/sm_io/*/acq/*: change smio_*_new interface

Now, every smio_*_new interface has the parent
object as its parameter. So, we can use state
information in the SMIO initialization.
hal/sm_io/*/swap/*: change smio_*_new interface

Now, every smio_*_new interface has the parent
object as its parameter. So, we can use state
information in the SMIO initialization.
hal/sm_io/*/dsp/*: change smio_*_new interface

Now, every smio_*_new interface has the parent
object as its parameter. So, we can use state
information in the SMIO initialization.
hal/*/board/*/mem_layout.h: use structure for CS addresses

It's more flexible to use a structure for these addresses.
So, we can use different addresses for different
SMIO instances.
hal/sm_io/*/fmc130m_4ch/*: add SPI,I2C addresses definitions
hal/sm_io/*: improve error handling

These checks are specially useful when, on SMIO
intialization, something fails and we must abort
the whole process.