Merge pull request #88 from gbaty/plugin_manager

Plugin manager
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
Adapt to new PluginManager API and plugin services
Applet service use new plugin services