add some Canvas2D tests

I've rebased and modified the 2 commits in the last pull request I sent.