IE9 and browsers that don't support canvas now receive a nice message...

…note how this mechanism was in theory already 50% there - but actually
it wasn’t working at all because of missing parentheses “()” in “unless
isCanvasSupported”
adding some more samples. Not sure I like these ones.
minor edit - adding a [todo] to a comment
rendering is avoided when the user program issues no graphic commands
Merging upstream

There do seem to be some bugs that might not have been there all along
but don’t think that’s anything to do with these changes…. need to
check details etc again…