I put together a first draft of the XUL canvas tag patch. I also added a few examples. I haven't tested patching and then compiling since I've never been able to get patches to apply properly. So I can't guarantee that it will work right. I can only compile on Linux myself but I've hopefully got the Windows/Mac/OS2 changes right. The patch was created against Mozilla 1.5 since that's what I'm using for something else.
The canvas works fairly well, although some features crash (drawing polygons). If anybody has a chance to try it, let me know. Or, if you have bug fixes, especially on various platforms.