Add a ToggleButton type behavior

It adds a ToggleButton type behavior and changes the ToggleButton to use that behavior.
Since the Button also use a button behavior, I figured that the ToggleButton should be consistent and also use a behavior.

ToggleButton inherits from Button, which inherits from ButtonBehavior. ToggleButton also inherits from ToggleButtonBehavior which itself inherits from ButtonBehavior. I' not sure whether this multiple inheritance presents a problem in python.