Ability to detach drawers and connect them to multiple nodes

[ Original title: Drawers as nodes (they really get in the way sometimes) ]

It would clean up design aesthetic and improve node compaction on canvas to have nodes as discrete nodes themselves to be moved wherever width expanded or contracted as required to preview source info. This came up ages ago in the UI design thread but I don’t think i ever made it a FR.

Fig. 1. Drawers replacing the two drawers on the Render Scene to Window node in expanded state

Fig. 2. Drawers replacing the two drawers on the Render Scene to Window node in collapsed state

One consideration is informing the user that multiple connections are possible, dropping a second wire on the port would need to spawn the drawer node and join it to the new wire (and existing) not replace the existing wire.

One nice feature to add would be tinting all the wires going to drawer input ports (this would break with the current behavior for tinting, currently only wires connected to output ports get tinted in Vuo when one tints a node). Means all the input values for, say, a Calculation node are very hard to trace at times.

I did consider another way of neatening them: draw at the bottom of node. More than one port with drawer would require header for each list or drawer toggling, I suppose. Here the Objects port is underlined to indicate the Drawer contents is of that port. clicking the Window Settings port would replace Objects with the Window Settings drawer (with quick animation). Probably less practical than separate node, so I made FR for the separate node solution.

And drawers need to be closed sometimes…

Opened for voting.