Singleton instance attribute is now private (use call to get it)
Add PluginManager
Add plugin manager tests and fix some bugs
All applet plugin follow standard plugin convention: __call__ return applet class.
To add widget in mainwindow and fill menus, just call "graft(mainwindow)" method.
Python model can now be instantiated with empty constructor
Improve PluginManager.instances, get_applets
Move oalab.plugins interfaces to core.plugin
Real oalab plugins like applets, paradigms, remain in oalab.plugins
All applet plugin now follow same API
All applet class can be instantiated with zero parameters
get_applet service is now based on PluginManager
Add PluginManager in session debug mode
Improve plugin manager and simplify labs