An edited version of nisovin's IconMenu class.