Rename SPI memory bus size definitions

They should start with "SPI_MEM_" so they don't conflict with other
similar definitions.
Add top-level implementation for Arduino Uno
spi_memory: Fix memory read

Various fixes to improve timing and avoid race conditions.

- Assert the read signal after the last address bit has been transmitted.
- Latch the read signal after the first bit of the next SPI byte transfer.
- Clock out the first bit of the read data directly without latching it.
spi_memory: Fix write timing

Satisfy setup/hold of address/data when write goes high.
main_arduino_uno: Rename byte enable wire
spi_memory: Latch data_in before tail edge of read

This maintains the data value cross the clock edge of read.
spi_memory: Fix premature increment of write address
spi_memory_test: use undefined data_in when not reading

Makes it visually easier to process when looking at simulation waveforms.
Update registers to match design docs.

- Remove SPRITE_Z register.
- Memory bank field has its own register.
- Rename the other registers.
Reduce renderer variable widths
chronocube: unmapped memory space returns hex code
spi_memory: use MSB first mode

This is more common, it seems.