re-wrote the architecture

Now each thing that wants to display on the lights is an app and can
register itself with the main controller. Different apps will
automatically cycle through.