The library combines musicinfo+musicstate messages, and waited for a
"complete" message before emitting the event.
But once you are playing music you don't get new music state events.
The problem was that when the first "complete" message arrives, the UI
is load()ed, so the library forgets its state, and doesn't emit anymore
music events until the play state changes.
This
- changes the library to keep combining music messages, but always
emit an event
- makes the UI only launch itself if it sees a "complete" music event
- makes the UI also combine musicinfo+musicstate messages