Added delegation to widget

Also started box widget.
Added error reporting for undefined widget methods
Re-factored code so common code is in widget

Prototypal delegation is working well.
Also improved handing of matching to support box matching that may wait
on multiple nests.
Implemented match and equals for boxes

Also added tests.