Make userHidden blocks not accept connections

- Set class instead of directly hidden/visible (makes it easier to apply different styling in edit mode)
- Check for hidden ancestor when connecting blocks, confer hiddenness
- Unhide when disconnecting a hidden block
- In checkConnection_() return true for hidden blocks
- When ferrying procedure_def to mainBlockSpace, make all children userHidden (i.e. setUserVisible should be recursive)
- Prevent bumping when dropped on a userHidden connection (don’t add hidden connections to the nieghbours_ collection)