move config to struct, add nullable in port

With the current code it is not possible to have multiple spi interfaces in one system,
because the SPI_MODE will be fixed to a define and a global value inside the xc file (sclk_val).