Fixed box copying code

Was working only by luck that empty_holes expected the box as a copy
parameter while others expected just_value. So contents of boxes weren't
copying backside widgets.
Slightly better way of copying boxes

Since doesn't rely upon set_hole.
Only top-level widgets save geometry in JSON

No need for components to save geometry since container overrides it.
Fixes a really mysterious cross browser drag bug

When dragging a box to another window the resulting box would not allow
access to the contents of its holes instead every action was interpreted
as 'resize'.
Remove button works for 'children'

Widgets now know their parents.
Empty holes cleaned up and made less wasteful (when not visible)
Fixes #33.
Changed background colour of numbers

For more contrast with empty holes.