Forge Event Handling change
  Removes directly accessing the forge ListenerLists
  Registers one EventListenerHolder for each event type/priority with forge
  EventListenerHolders are generated dynamically using ASM
  The event listener holder calls all the sponge listeners
  Priorities are grouped since Sponge has more priorities than forge
Adds custom event support