Register the drag's colliders + handlers with the per-canvas dispatcher for
this utility layer. Returns a function that unregisters the drag. When the
last drag for a canvas is unregistered, the dispatcher tears itself down
(canvas listeners are detached, the GPU picker is disposed, the cache entry
is removed) so disposing all gizmos doesn't leak listeners or GPU resources.
Register the drag's colliders + handlers with the per-canvas dispatcher for this utility layer. Returns a function that unregisters the drag. When the last drag for a canvas is unregistered, the dispatcher tears itself down (canvas listeners are detached, the GPU picker is disposed, the cache entry is removed) so disposing all gizmos doesn't leak listeners or GPU resources.