Implement simple event bus internally. This adds @ProtectionListener, @Listener annotations.

In the future it will be used for more things and remove some older code so that it doesn't have to run in parallel with the other events. As well, it should be simple to wrap the events in native mod-specific classes (e.g. Sponge event class) and pass them through the native event bus as well so other mods can see/use them.

Demonstrates usage with DescriptionModule. Some code is still a bit messy and to be cleaned up.