Rederived Box from DependencyNode.

Also implemented enabledPlug() and correspondingInput() to allow users to define enabled/disabled behaviours.

This breaks binary compatibility.

Fixes #1015.
Added UI for setting up Box pass-through behaviour.