Build: only rebuild entire script if it needs to be.
Fix color formatting.

It worked before, but it's better to do it properly.
Animation: add finishing callback.

Called when the animation is finished (but before it is drawn).
OSDAggregator: add removeSubscriber method.

All subscribers have the field aggregatorIndex attached to them when
they subscribe. This can be used to unsubscribe from the index at any
time.

I thought about implementing this with a doubly linked list, the same
way AnimationQueue is implemented, but it's more trouble than it's
worth. Presumably an aggregator will never have enough subscribers to
make the advantages of a doubly linked list actually apparent.
Add PauseIndicator.

Stealing violently from youtube, displays an icon in the middle of the
screen when the player is (un)paused.