This also refactors the panel button code to rely less on WPF bindings.
They just get in the way for anything nontrivial. Doing it this way
lets us treat the panel buttons as an interface for setting colors, to
handle the different fields that are set for the panel colors and floor
color.
Having this at 5 is causing confusion, since the hardware isn't actually designed
to have the thresholds so close together. This was set to 5 for internal testing,
but it's not actually useful to have them so close together. The thresholds exist
to prevent ghosting and strobing on the panels, and putting the thresholds very
close together prevents them from doing that.