add ItemManager::getTopLevelItemNumber()

This method is used by the LibraryTreeModel (through the ItemController)
to construct the TreeView.
add basic model/view implementation

The Model is LibraryTreeModel and the view is a simple QTreeView.
All the call to LibraryTreeModel are delegated to the ItemController which
centralize the calls from the different model.

Class names need to be changed to be more understandable (e.g. ItemManager =>
ItemTree)
add LibraryTreeModel::headerData

headerData is entirely defined in the LibraryTreeModel class : header field is
specific to the displayed widget and may be named differently in another
widget. It cannot be centralized in the ItemController class.

Fix also compilation warning for LibraryTreeModel class.