Fix bugs in lpy control imports
Move oalab.plugins interfaces to core.plugin
Real oalab plugins like applets, paradigms, remain in oalab.plugins
First draft for 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.
PluginManager is now a singleton.
Singleton instance attribute is now private (use call to get it)
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 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