That's a very nice outline.
One comment I have is that scientific applications often need to plot large amounts of data and require substantial interactivity. Traditional canvas designs are probably not efficient for this purpose (ie drawing hundreds of thousands of points and updating immediately in response to user interaction). I don't know if you want to consider this application in your design, but I thought I would mention it.
For an example of this based on GTK+, see GGobi (
http://www.ggobi.org), which provides interactive graphics for multivariate data analysis. We are currently refactoring the display framework of GGobi for improved clarity, flexibility and performance, so your ideas are interesting to us. We would love to be able to borrow functionality provided by GTK+ or some related library.
Michael