Add navigation mesh implementation
Start refactoring code
Refactor navmesh generation
Start merging AI and navigation meshes
Merge branch 'procedural-generation-base' into ai

Conflicts:
	src/Ecs/World.cpp
	src/Geometry/PositionComponent.cpp
	src/Geometry/PositionComponent.h
	src/Geometry/Vec2D.h
	src/Graph/PlanarEdge.cpp
	src/Graph/PlanarGraph.cpp
	src/Graph/PlanarNode.cpp
	src/Graph/PlanarNode.h
	src/Graphics/Render/Model3D.h
	src/Threading/Channel.h
	src/main.cpp
	src/tests/SvgDrawer.h
	src/tests/ecs.h
Fix previous merge
Add method to get the node containing a point
Add pathfinding in navigation subsystem
Refactor ai
Refactor ai
Refactor ai
Merge branch 'master' into ai-merge

Conflicts:
	src/AI/AiComponent.h
	src/AI/AiSystem.cpp
	src/AI/Sensor/PeriodicSensor.cpp
	src/AI/Sensor/PeriodicSensor.h
	src/AI/Sensor/SightSensor.cpp
	src/AI/SubSystems/SubsystemsManager.cpp
	src/Ecs/ComponentGroup.h
	src/Geometry/PositionComponent.cpp
	src/Geometry/PositionComponent.h
	src/Graphics/Render/Model3D.h
	src/Physics/MovementComponent.cpp
	src/Physics/MovementComponent.h
	src/main.cpp
	src/tests/ai.cpp
	src/tests/stateMachine.cpp
Fix navmesh test
Fix targeting system
Integrate AI into application
Merge remote-tracking branch 'refs/remotes/origin/ai-merge' into ai-merge
Fix some IA stuffs
Protect some code against NoEntityException
Merge remote-tracking branch 'refs/remotes/origin/master'