Make QVM convertion of float to long use round to nearest instead of
round toward zero. This fixes EF's SnapVector. Though native libs will
still need to fix SnapVector in the game code itself.
Side note: this changes rounding in the renderer too.
- Clean up ftol()/snapvector() mess
- Make use of SSE instructions for ftol()/snapvector() if available
- move ftol/snapvector pure assembler to inline assembler, this will add x86_64 and improve support for different calling conventions
- Set FPU control word at program startup to get consistent behaviour on all platforms