dda.c: allow protected re-entry for time based stepper calculations.

This becomes more important when acceleration is calculated
there, too.
analog.c: use atomic macros.
timer.c/.h: make TICK_TIME macros available globally.
dda_maths.c/.h: implement an integer inverse square root algorithm.

This 1/sqrt(x) implementation is a 12 bits fixed point implementation
and a bit faster than a 32 bits divide (it takes about 11% less time
to complete) and could be even faster if one requires only 8 bits.
Also, precision starts getting poor for big values of n which are
likely to be required by small acceleration values.