Merge pull request #2 from openalea/master

update from original
This part was raising a OSError because the .openalea/projects/oalab_examples
already existed. Using a try/except fix the issue and oalab starts.
This part was raising a OSError because the .openalea/projects/oalab_examples
already existed. Using a try/except fix the issue and oalab starts.
Trying the rebase for fix #2 and #112

Merge branch 'master' of https://github.com/cokelaer/openalea
Merge pull request #112 from cokelaer/master

fixing symlink issue
First draft to restore loader/saver approach.
Apply it to controls and part of Project
Project now use ProjectLoader for loading
All applet plugin follow standard plugin convention: __call__ return applet class.
To add widget in mainwindow and fill menus, just call "graft(oa_mainwindow=maiwnin)" method.

Move oalab.plugins interfaces to core.plugin
Real oalab plugins like applets, paradigms, remain in oalab.plugins
Add a splitable widget that tries to mimic the Blender UI.
All applet plugin follow standard plugin convention: __call__ return applet class.
To add widget in mainwindow and fill menus, just call "graft(mainwindow)" method.
Improve PluginManager.instances, get_applets
Move oalab.plugins interfaces to core.plugin
Real oalab plugins like applets, paradigms, remain in oalab.plugins
First draft to create a GUI inspired by Blender 3D GUI
Add applet icons
Move all plugins linked to plantgl in plantlab
Blender ui become a module instead of simple script
Fix --debug-plugins command line
First draft to migrate OpenAleaLab MainWindow to SplittableUi
Improve and simplify PanedMenu
Add global menu
Fix minor bugs and improve PluginInstanceManger error messages
Add test to oalab/example/test_project