Redid Drawing Engine (DiffFlushableCanvas), added unit tests. Needs serious refactoring.