Added some basic geometric primitives such as planes, rays, segments
and lines (plus some extra functions like xProject, xBarycentric, Lerpf),
as well as some intersection tests between them.
Additionally, I split massive math test into smaller ones and tweaked
unit test library (testing no longer stops after first failure).
After a while I felt that putting underscores between words was not the
best solution, so I changed the underscores to capital letters.
Fixed consistency bug between POSIX/Win32 platform in BH_FileOpen.
Removed definitions for math types (vector, matrix, etc.) due to
potential aliasing issues.
After some testing, I decided to ditch the DirectX approach of writing
math functions.
Additionally, I added unit tests (with reference wxMaxima calculations)
for most math functions and fixed several bugs along the way.