DOMRectangle box space

rename DOMRectangle.prototype.getScrollSpace to getSpace and allow more
flexibility to measure the element space
create fixedSpace measurer, used by the box to keep itself in th
eboundary of the parent
change is now the update DOMrectangle event, divide it into
change:width, change:height, change:top, change:left
update is now the old change event (called only for multiple change)
Menu is working, temporary put proto & types into Treenode.prototype