Allowing for personalized callbacks while keeping backwards compatibility

This PR adds new settings inherited by all modules: 'on_lclick', 'on_rclick',  'on_scrollup', 'on_scrolldown' . These settings should be set to a string that is:
1. either the name of a python function
2. or the name of a method
3. or of a program
i3pystatus will check them in this order and run it accordingly. In case the setting is not set, i3pystatus falls back to the legacy behavior and call  "on_rightclick", "on_leftclick", on_upscroll" etc...

To test:
```
status.register("clock",
                format=[
                    "%a %-d %b %X toto",
                    ("%a %-d %b %X", 'Europe/Paris'),
                ],
                on_lclick="urxvtc", # will launch an urxvt terminal
                on_rclick="next_format", # will change the clock format
                )
```
Do we need to log this? It probably happens rather often and is not really helpful