Merge branches

What do you think of this approach?

I've basically defined an interface supporting simple drawing methods, and made SimpleView use that.
In this way we would have a ~single SimpleView and the examples code will be much more similar cross target (it could even be taken further by using the same mechanism for BasicCanvas/BasicSwing/etc.).

(I've also fixed some things along the way - mainly JS rendering)

Don't merge this, but please take a look at it (java is currently broken with it and I need help on that one).