Add ctkLayoutFactory and ctkLayoutViewFactory

ctkLayoutFactory gives the ability over ctkLayoutManager to control
externally the instantiation of view widgets by registering view factories.
Depending on the view XML element in the layout document, the best
registered view factory is being used to create and setup the corresponding
widget.
Merge branch 'add-ctklayoutviewfactory'

* add-ctklayoutviewfactory:
  Add ctkLayoutFactory and ctkLayoutViewFactory

Conflicts:
	Libs/Widgets/ctkSimpleLayoutManager.h