Fixed JSON bug with empty holes

Wasn't creating box contents to match length.
Backside dropped on non-top-level backside

Now removes the widget from its original backside.
Simplified previous revision
Drag removes from container

Not sure why it was commented out...
Removed redundant code

Since drop now handles the removal of a backside widget