input: add general input hooks

This merge request is corresponding to issue #182. It is right now the easiest implementation I can think of. One can also add the listeners to the weston_keyboard or weston_pointer and weston_touch, but that would require adding additional wl_listener structures somewhere.