Use some guice magic to make event handler loading cleaner

Didn't get rid of EventHandlerLoader yet, but we no longer inject
an injector.  Taking advantage of Guices MapBinder, we can bind
a map of target to event handler for that target.

I replaced EventHandler.getTarget with an annotation so that we
can read the target type more easily from our guice module