Add initial implementation of SIMD optimized quaternions.

A few things here can probably be improved by people a lot smarter then
me, but for the most part things are generally faster.

A few notes:
 - A fquatSIMD can be converted to a fmat4x4SIMD using mat4SIMD_cast().
 - A tquat<float> can be converted to a fquatSIMD using quatSIMD_cast().
 - Some functions are virtually the same as their scalar counterparts
   because I've just not been able to get them faster.
 - Only the basic functions are implemented. Future plans include fast,
   approximate normalize, length and mix/slerp functions.
Merge branch '0.9.5' of https://github.com/g-truc/glm into quat_simd
Improve efficiency of operator*(fquatSIMD, fquatSIMD) in SSE4 mode.

Now only requires 3 shuffle, 4 mul and 4 dpps.
Remove the SSE3 implementation in operator*(fquatSIMD, fquatSIMD).

The SSE2 version is now running faster than the SSE3 version.
Add the ability to convert standard mat4s and mat3s to SIMD quats.
Add the ability to convert a SIMD quat to a standard mat4.
Add fastMix() and fastSlerp() implementations.

These have stricter pre-conditions than standard mix() and slerp()
  - 1) Input quaternions must be unit length.
  - 2) The interpolation factor (a) must be in the range [0, 1]

None of these restrictions should be too bad. The reason for these is that it uses fastAcos()
and fastSin(), both of which have a limited allowable range.

In my contrived tests, I observed about a 10x improvement over the standard versions. This is
mostly because of the faster acos/sin operations. The fastSin(__m128) implementation also helps
here because it can do four fastSin() operations simultaneously using SSE (mix() and slerp()
each need three).
Cleanup.
Reorganize operator* to makes things a bit clearer.
Attempt a small optimization in operator*(fquatSIMD, fvec4SIMD). No big improvement.
Merge pull request #75 from mackron/quat_simd

SIMD Quaternions