Button class added. Interface code generally strengthened.
In particular, the interface now directly manipulates leaf elements rather than parent elements, and children cascade clicks and the like upward to their parents. I'm pretty sure that's a better way to do things. ...Probably.