Event System refactor

Removed the event lib stored in libs/Events and replaced with new code in PluginsManager. Also added the ability to execute events before/after others.

Notes:
- There is no notification object. Parameters are passed directly to callback and there is no limit to the number of parameters that can be passed.