Handle possible NaN in VectorNormalize(); avoid loops for angle normalisation.

This is happening in native code generated from QVM bytecode.

It appears that the vector length is very small but not actually zero. I'm
not sure whether it's overflowing or underflowing, but the result is NaN.

This has been observed to propagate out into legsAngles in CG_PlayerAngles.
There are some places where angles (in degrees) are normalised by repeatedly
adding or subtracting 360 to get the angle in the range -180 to +180; with a
NaN, it'll never get there. Result: infinite loop.

A proper fix would be in src/engine/qcommon/vm_x86.c.
Merge branch 'master' into librocket