AABB 2d and quad

C code:
- Renamed AABB to AABB3 
- Added AABB2 
- Put common code for intersections in ray2.c into a separate function kmLine2WithLineIntersection, that finds the intersection point, but also returns the "factor" values, so it can be checked if we are looking for a two segment intersection, an infinite ray to segment or whatever
C++ code: 
- Added the AABB2 class 
- Added a quad class (non axis aligned box)
- Added the unary minus operator to vec*.h 
- Added the BoundVec2 class : ( this is subject to be changed : for now the main reason to use this name instead of "ray" is for comparisons, and when moving to 3d, this class can define a ray, a line, or a plane , depending on its interpretation )