Condense damage list

by merging overlapping dirty rectangles
Further condense damage list by merging nearby rectangles

thanks, Craxic, for the idea!
Don’t trigger events for eclipsed morphs

(whose parent-chain contains a hidden morph)
fixed null-canvas blitting bug in fullImage()
null-canvas blitting bug follow-up
Fixed updateReferences()

How could this go undetected for such a long time? :-)
Replaced deprecated DOM “body” references with “documentElement”
Merge remote-tracking branch 'upstream/master'