Fix lcd_dir_idle() to not drive the data bus at all. Previously, the LCD was driving the bus -- same as "read" mode.
Un-expose switches_state, make it local to the UI code.