Adds Interface::Panel boilerplate and fixes Interface::Button.

Button was acting as though it were pressed when you click on it and
then move the pointer away from the button. Common convention would
redraw the button as unpressed when you move away from it as a way of
conveying that this would 'cancel' the press.

The event for a button is only triggered when the button is pressed and
then the mouse released while still over the button. The event is on the
release event.