-Working stuff. The bugs were:
 a) Our coordinate system means that we want to be dealing with canvii between 0 and 1, scaled up if desired. I was trying to work with a canvas larger than 1 which was doing odd things.
 b) I defined a wave-painter that was rotated by default. That's been fixed in the laziest possible way.