[Finishes #76822602] dont frame functions in toolboxes

When dragging in a second function, sometimes the light gray frame was turning dark gray for one of the boxes.  The reason was we were reusing a non-unique id.  Instead I made it take in a block id.

Also, we don't want to show the frame when in the toolbox or hints.  This was accomplished pretty easily by seeing whether the block's parent workspace is the main workspace.