Refactor hub registration to support auto cleanup.

Move registration of handlers[MODIFIED] to component/base/(on|off).

Introduce component runners for pipeline/sequence.

Add support for `sig/setup` and `sig/teardown`.

Refactor hub registration to use `sig/setup` and `sig/teardown`. *Note* that this fundamentally changes how publish on the hub works. Previously all handlers would be registred on the hub itself, now a proxy handler is registred per topic that re-emits on the owning component.