ui: restructure so the primary loop is in ui/ui
io/io: prep for SD io lines
io/spi: remove per-device parameters in header
lcd/lcd: don't send updated cursor address after clear
ui: adjust header format
algo/crc7: implement table-based crc7 algorithm
algo/crc7: fix not using pgm_read_byte in table access
sd: break down into layers in separate directory