fix implementation of invSqrt()

The old invSqrt() implementation causes the estimate to diverge under 
constant input. The problem was the line `long i = (long)&y;`, where 64 bits
are read from a 32 bit number. Thanks to @tomas-c for spotting this and
pointing out the solution.

Fixes #17.