Bunch of changes to support Syobon Action.
Fix canvas flipping.
Implement ellipse drawing and refactor rect code.
Add workaround for FF.
Add test for negative zoom.
Avoid noisy error logs.
wip: tests for gfx primitives.