Make all calculations in core strict floating point

I used Java's little-used strictfp modifier on all core classes. This
change comes with a performance penalty (around 20%), but it guarantees
deterministic results on all JVMs and OSs.