UI Improvements and refactoring

* Change dye buttons from radio buttons to pushbuttons. Fixes being
  unable to choose the same color twice to dye more channels.

* Disable and reenable the edit box on clear/reset to forcibly drop
  focus.

* Code refactor and reorganization ... as always.