Forgive my naivety, but why do we have cross domain limitations if I can fire up a proxy and do the exact same thing? What's the difference?
Without cross domain limitations on canvas, you could do that.
I wrote a bit about those rules a while back:
http://simonsarris.com/blog/480-understanding-the-html5-canv...
That said, JSONP is one of the ugliest (but useful!) hacks ever invented.
For more details: http://en.wikipedia.org/wiki/Same_origin_policy