move eventbus handler registration out of the input constructors

input objects are being created even when they won't get started, so we could leak objects if we registered them with the event bus.
register/unregister now happens during lauch and stop of an input.