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
Add a splitable widget that tries to mimic the Blender UI.
PEP8
Example to test blender ui
First draft to support OpenAleaLab applets
Load all applet instead of only oalab-tissue applets
Fix applet services
blender ui now use PluginManager
Blender ui now supports tabs
Support icons
Blender ui support remove tab