Refactor|Client: Allowing Widgets to use the bindings system

In the future the bindings system and widgets will be refactored into
a more integrated whole, but for now we just want Widgets to be able
to specify actions via event bindings.