update Rect, Size, and Point

this cleans up the API to make a better distinction between the
interface and concrete types
update the component API

this removes the use of property getters and setters, which leads to
more semantic meaning and much better performance on V8
API cleanup
add a ResizeSpy class to listen for element resize
add the ResizeSpy CSS
update window api
update project files