Replace MouseClickListener by function registry
Cancel the registration of the DataChange listener

when the component is destroyed
Change return type of onMouseButton to bool

Only LISTENER_EVENT_NOT_CONSUMED and LISTENER_EVENT_CONSUMED were
returned before. Therefore, I replaced it by false and true.
Furthermore, the logic removing the listener after the call was removed.
Add component-based registry for MouseButtons
Use MouseButtonListener registry in GUI_Manager