Premier essai de normal mapping avec les tangent space en attribut

Ca marche bof et j'pige pas le calcul des espaces tangents.
Affichage du temps gpu pour chaque frame
On vérifie que la chaine du mtl est non-vide
Merge branch 'normal_mapping' into dev
Normal mapping correct dans certains cas simples
Meilleure utilisation de Renderer

C'est lui qui gère désormais les caches d'id opengl au lieu de variables globales statiques dans Objet3d.
Il gère également l'activation du rendu de la profondeur pour la shadow map
Les matrices de vue et de projection sont aussi transportées dans Renderer.
Ajouts d'option de visualisations (fil de fer et espace tangent) pour le debug
Merge branch 'normal_mapping' into dev

Conflicts:
	source/frag_shaders/normalMap.frag
Début d'implémentation de rendu indexé (drawElements)

La génération des tableaux devrait être correcte (pas testée).
Le code de rendu ne l'est pas du tout.

Signed-off-by: Thibault D'Archivio <thibault.darchivio@free.fr>
Enlève les images et modèles du dépôt (accessibles via dropbox)
Ne va plus chercher les librairies dans des chemins locaux
Rendu indexé fonctionnel
Déplacements des fichiers de recherche dans docs et rajout d'inclusions manquantes
Merge branch 'indexed_drawing' into dev

Le debug des normals et la vue en fil de fer n'est pas encore implémenté en mode indexé.

Conflicts:
	header/utils/vec2.h
	source/mesh.c
	source/object3d.c
	source/scene.c
Correction de la recherche de sommets similaires à l'indexation

Et oui
Correction d'une erreur dans le calcul des tangents/bitangents

L'epsilon utilisé pour éviter une division par zéro était trop grand est cassait les calculs dans des cas valides.
Valeur à surveiller.
Corrections du fragment shader de normal mapping

L'inversion du y compensait l'inversion de l'axe y des normales de la normal map.
Une fois la texture corrigé, plus besoin de l'inversion.
Et comme les normales de la texture sont différentes de celle de la surface, le dot de ces normales avec le rayon de lumière peut produire des résultats positifs dans des cas impossibles avec les normales interpolées des sommets.
Ceci entraînait parfois des éclairages de surfaces tournant le dos à la lumière.
On rajoute donc un test pour être sur que la surface peut recevoir de la lumière.
Merge branch 'dev' into master