This provides a sane API to set the state of the icon without having to bother
with icon files (this is all handled internally now). State progressions are
now animated thanks to Nuno's animation phases, and we have a nice glow effect
on highlight too!