Remove redundant includes in Math.h

Including Math.h made other math headers (Vector.h, etc.) included
automatically even if they were not used.
Add Vector::Shuffle and VectorBlend functions
Improve matrix and geometry functions

* IntersectXXX() function turned into Intersect() template function
* Fixed style
* Unit tests written
* New functions introduced