Naive first implementation of new dirty rectangle tracking
Fix logic error with stale rects
functionally complete dirty_rect rewrite
factor out a rectangle manager
Change name of newrect to currentrect
Remove cruft from old code
Remove cruft from canvas.js
Improve docs a bit
Add debug mode, and fix error in merge code
Rename merge->mergeSet and simplify so that it works in place.
Optimize order in which entities are drawn
Optimize mergeset algo
Made the stage element more modular.
Add documentation for stage_elem
Provide default family and size for text
Return early from _attr when there is no change in the value of the attribute.

This prevents any unncessary events from being triggered.
If necessary, scale canvas on creation
Merge pull request #462 from starwed/scale-init

If necessary, scale canvas on creation.  Fixes #390
Merge pull request #461 from starwed/no-move

Return early from _attr when there is no change in the value of the attribute.
Add mention of default to the docs