scene: use systems rather than event-propagation for drawing

Note that this is a PR on the scenegraph branch.

WIP: this is not finished. I start the PR to show the direction in which I'd like to go, but we should discuss the role of Document and ViewBox, and whether/how to use systems.

This brings the scene layer more towards a system-component system, by making systems do the "work" (http://en.wikipedia.org/wiki/Entity_component_system). The entities (and visuals) themselves become more descriptive. The system (only implemented drawing system) walks through the hierarchy and performs the drawing. I think this has a few advantages:
- Code for drawing is contained in a unit, so should be easier to maintain and debug
- Since entities are more descriptive, it should be much easier to move to automatic collections: the system walks over the hierarchy and creates collections from entities that are "collectable".

So anyway, I only made it to barely work. The scenegraph/line.py example works though. This demonstrates the idea. Needs discussion before I move further...
 
I think it would be possible (and desirable) for the ViewBox to handle this case on its own, if:
- we use Entity.paint(event) as I suggested above
- Entities may set a flag on the event that informs the system that the entity itself will handle drawing its children (either directly, or by starting a new drawing system). In that case, the drawing system needs only check whether this flag has been set before drawing the children.