Morphing

Finally managed to get icon morphing working. Still needs label morphing and a decent interface to select both!
Most seem to have been removed from the original solution (linked in the JavaDoc). I'll re-add them to this code.