The EventBus was duplicated inside shapeseq/ but is used by other playground code too. Move the canonical implementation to js/event-bus.js and turn the shapeseq copy into a re-export shim.