adds support for registering an ALL event handle and applying multiple filters

This PR adds the following new features:

* Adds support for a new "ALL" event handler which can be used to process any unhandled events
* Adds support for applying multiple filters, as the old implementation didn't work properly