Many changes, here is the list:

- The project is now locked internally and all public functions are thread-safe, except the ones that do not need thread-safety as they are called only on the same thread (and they are documented).
- Added AbstractOfxEffectInstance which defines the interface for OfxEffectInstance, allowing to use a mock for the later class.
- All the project load/save stuff has move from AppInstance to Project since it makes a lot more sense. This was the first step on cleaning AppInstance.
- Reworked totally the auto-positionning and auto-connection for Nodes when they’re created/deleted. When the user deletes a node, in some case Natron will automatically connect the output of the deleted node to the input of the deleted node.
- The shape of nodes that have an active preview is now much better so the preview can actually fit into the rectangle.
Fix conflicts