Preparation for Raycasting against HeighMap

[snAABB]
* New method to check if a point is inside a AABB.

[snHeightMap]
* New getters to retrieve the size of a quad and the bounding volume.
* New method to retrieve the triangles overlapping with a point.
Raycasting

* Add Ray class.
* Add Raycast class.

[snScene]
* New method to make a raycast test in the scene. It only works with
Heightmap for now. Other coliders are ignored.
Raycast in HeightMap

* Add a new entity : EntityCharacter.

[CameraState_FollowTarget]
* Remove hardcoded stuff. Now it can follow any entity.
* TPS control type.

[CameraState_FreeCamera]
* Revert a debug code that shouldn't have been checked in.

[Scene Manager]
* Add an entityCharacter to the Terrain scene.
Heightmap

* Add gettors.
* Add several helper methods for raycast.
Raycast

Fix raycast for heightmap.
Terrain Scene

[CameraState_FollowTarget]
* Check for obstacle between the target and the camera using raycast.

[Scene Manager]
* Load terrain using the position of the character.
Raycast Heightmap

[Raycast]
* Optimize raycast of heightmap using SIMD vectors.
* Decrease DELTA_EPSILON causing too many cases going into the vertical
or horizontal cases instead of DDA.

[CameraState_FollowTarget]
* When an obstacle is found, move the camera up a bit to avoid seeing
under the heightmap when the camera is right at the ground level.