Split Project data model from view model:
========================================

Currently we create a GladeWidget object for each project object but
GladeProject and gladeui api in general uses the very same runtime object.
Ideally we should only depend on GladeWidget and the actual runtime object
should only be used for the view in the workspace.

A first step could be updating GladeProject to only use GladeWidget internally
and then we can update gladeui api to use GladeWidget instead but this means a
API/ABI break 
