Stop redefining input.link via Object.defineProperty in loadedGraphNode,
which breaks a core property read by other extensions (e.g. cg-use-
everywhere) so their virtual links weren't removed when a real line was
connected. React to connect/disconnect through an onConnectionsChange
wrapper registered in beforeRegisterNodeDef instead so it chains safely with
other extensions' wrappers.
Make the widget-hiding handlers proxy-safe by mutating widget.type = "hidden"
in place rather than swapping node.widgets / splicing widgets out, which
breaks where node.widgets is a reactive proxy (the saved reference ends up
empty and won't re-render).
Fall back to node.type when comfyClass is unset (newer frontends).