[SharpDX] Reuse stable Matrix3x3 functions to produce quaternions.
[SharpDX] Reuse stable Matrix3x3 functions to produce quaternions.

It gives better results and protects against negative Sqrt input and division with zero (NaN)

RobyDX/SharpDX,RobyDX/SharpDX,PavelBrokhman/SharpDX,andrewst/SharpDX,davidlee80/SharpDX-1,VirusFree/SharpDX,Ixonos-USA/SharpDX,Ixonos-USA/SharpDX,jwollen/SharpDX,TechPriest/SharpDX,sharpdx/SharpDX,mrvux/SharpDX,dazerdude/SharpDX,wyrover/SharpDX,TigerKO/SharpDX,andrewst/SharpDX,jwollen/SharpDX,davidlee80/SharpDX-1,sharpdx/SharpDX,manu-silicon/SharpDX,dazerdude/SharpDX,VirusFree/SharpDX,TigerKO/SharpDX,dazerdude/SharpDX,fmarrabal/SharpDX,waltdestler/SharpDX,RobyDX/SharpDX,VirusFree/SharpDX,VirusFree/SharpDX,Ixonos-USA/SharpDX,wyrover/SharpDX,manu-silicon/SharpDX,waltdestler/SharpDX,davidlee80/SharpDX-1,TigerKO/SharpDX,dazerdude/SharpDX,wyrover/SharpDX,fmarrabal/SharpDX,weltkante/SharpDX,wyrover/SharpDX,weltkante/SharpDX,davidlee80/SharpDX-1,weltkante/SharpDX,PavelBrokhman/SharpDX,waltdestler/SharpDX,RobyDX/SharpDX,manu-silicon/SharpDX,fmarrabal/SharpDX,jwollen/SharpDX,weltkante/SharpDX,TechPriest/SharpDX,PavelBrokhman/SharpDX,TechPriest/SharpDX,Ixonos-USA/SharpDX,fmarrabal/SharpDX,PavelBrokhman/SharpDX,mrvux/SharpDX,jwollen/SharpDX,sharpdx/SharpDX,mrvux/SharpDX,TechPriest/SharpDX,waltdestler/SharpDX,manu-silicon/SharpDX,TigerKO/SharpDX,andrewst/SharpDX