Add ButtonWidget marker interface

This makes Buttons consistent with the rest of the input widgets. It is
also convenient to be able to see at a glance (e.g., using Eclipse's
Ctrl+T type hierachy) all the widgets intended to support Buttons.