TreeViewController: Fix item creation

Create unique function to create each type of item to ensure that they are
always correctly created.
TreeViewController: Add a custom context menu in the tree view

With action open (work) and delete (not implemented)
CompositorController: Add a UndoGroup to handle editor UndoStack

Create global undo/redo actions in menu edition
SvgAssembly: Add copy of last save version

Create SvgAssemblyData to handle SvgAssembly data.
Add equality operator in SvgAssemblyElement.

In SvgAssembly create two SvgAssemblyData variables:
- One for the current state
- One for the last saved state

In SvgAssembliesList adapt SvgAssembly save to use new functionality
ViewController: Fix size of created GraphicsItem
CompositorController: Add message box when closing a tab
CompositorController: Add message box when closing a project
CompositorWidget: Add action to close current assembly
CompositorWidget: Proper handling of application closing

Ask to save project if needed before closing.
Add icon in menu.
Icon:: Add icon in menu

In Icon class, add fast access to some icons.