Goal
Optimise memory layout and reference count.
Motivation
At the moment, instances are stored twice; once in the controller and once in the model.
The same goes for plug-ins.
This is dirty makes it unclear which of the two paths to take for access to these objects.
Implementation
Store both the Context and plug-ins in the corresponding model, and access it only from there. This includes the control.py:_iterator() which will need some minor refactoring to work that way.