Combined I/O Handling

Put input/output shift register handling in the same place for improved
efficiency (one loop instead of two)
Redesigned I/O Structure

Arrange modules in paired banks (0-4). Force input and output scanning
simultaneously
Hardware SPI / 8 Banks

Switch from SW to HW SPI and add additional input bus driver