The Focused, Split and Pair editors hide their widgets, and ComfyUI only
draws a widget's input socket while the widget is visible. `text` (and the
Pair's `negative_text`) therefore had no socket, and a STRING link dropped
on the editor fell through to the first free STRING input, `prepend_text`,
which is how #342's workflow was wired.
- Detach those inputs from their hidden widgets on create and after a
workflow load, so they are ordinary sockets in Classic and Nodes 2.0. The
schema, widget order and saved values are unchanged.
- A STRING link dropped on the editor body fills the main prompt, then the
negative, before the frontend's own choice.
- Each editor says when its text comes from a link; the typed text is kept
for disconnect. The Classic nodes now save the typed text under a link
instead of null, and "use prompt" no longer overwrites it while linked.
- Real-host tests: mouse drags in both renderers, a workflow saved before
this change, and executions proving the linked text is saved, counted,
recorded in history and linked to the run's image.
Closes#343