This starts the proposed changes in
http://www.pipapo.org/pipawiki/Lumiera/DesignProcess/ApplicationStructure
* Moving all necessary files from src/backend to src/lumiera
* create a small helloworld main app
* setup the buildsystem to build it all
* fix include paths at many places
The testsuite is not yet fixed here, that will be the next commit
removes the difference in compiled in and plugin interfaces.
* All interfaces are now defined with LUMIERA_EXPORT(...)
* The definition of LUMIERA_PLUGIN at compile time takes action to compile
as plugin which gets automatically managed.
* compiled in (core) interfaces need still be registered, this is
simplified with the LUMIERA_INTERFACE_REGISTEREXPORTED and
LUMIERA_INTERFACE_UNREGISTEREXPORTED macros which become no-ops for
plugins.
* add a lumiera_interface_version() function for runtime type and version
checking of interfaces
* the 'lumieraorg__plugin' interface is now private
* add a macro to construct a interface instance name string
There where some bugs slipped in (not yet tested code)
removed the descriptor from the plugin itself, lets see if we can remove
the acquire and release functions later too.
Declare the plugin interface itself in its first experimental state