Tentative de meilleure généricité
Nouvelle structure

Ca a l'air de mieux marcher.
Diverses modifications un peu partout
Optimisation d'A*

suppression de méthodes inutiles et regroupement dans AStar::clear()
+ de perfs et clarification du code
clean up du code

suppression de enum Distance qui sert à rien
clean up du code et commentaires
suppression de fichiers plus utilisés

corps des méthodes de PathAlgorithm et PathFinder passés dans les .h
pour pas se faire chier avec les templates
l'algorithme est spécifié lors de la recherche

- quelques const
- quelques formatages de code
- légère modification de l'usage de PathFinder
nouvelle approche pour PathAlgorithm::realDistanceFromStart()

- PathAlgorithm::realDistanceFromStart() est un des goulots
d'étranglement, comme on parcours beaucoup beaucoup vers l'arrière, on
peut utiliser une fonction de calcul de distance locale (entre 2 nodes
directement reliées) qui sera vraisemblablement plus simple et plus
rapide
- l'utilisation "extérieure" de PathFinder se fait avec des références,
plus simple
optimisation d'A* pour les distances uniformes

- dans le cas où la distance entre 2 nodes serait toujours égale, pas
besoin de parcourir de la node actuelle jusqu'à départ, il suffit de
stocker son index et de l'utiliser comme unité de distance
optimisation d'A* générale

- certains vieux choix qui datent de la première version de l'algorithme
étaient pas judicieux du tout, on remédie à ça
- suppression des méthodes qui deviennent du coup inutiles (AStar)
- destructeurs virtuels où c'est nécessaire
- quelques changements de cast
renommage de getPath en findPath

- suppression d'une en-tête de méthode qui servait à rien
- déclaration des variables en dehors de la boucle pour plus de clarté
dans A* et élimination d'une variable intermédiaire inutile
- inliner distanceToGoal améliore les perfs