Refactored event-handling to make it easier to customize UI

- Event handling is no longer done as a mixin, but as a combination of two
   delegate objects: FitsImageBindings and BindingMapper
   - Key and button bindings can be changed by modifying an event map,
       button map and key maps in the FitsImageBindings object
   - Completely new ways of handling can be done by subclassing
       FitsImageBindings or rewriting with a compatible interface