CoreXY: separate out bot axes distance calculations.

This also introduces dda_kinematics.c/.h and a KINEMATICS definition,
which allows to do different distance calculations depending on the
bot kinematics in use. So far only KINEMATICS_STRAIGHT, which matches
what we had before, but other kinematics types are present in
comments already.
CoreXY: distribute new KINEMATICS definition to all config.h templates.
CoreXY, dda_kinematics.c/.h: introduce KINEMATICS_COREXY.

Implementation isn't that difficult, should be complete and working
fine already.
CoreXY: tell config.h templates about KINEMATICS_COREXY.
dda.c: abs32() is obsolete now.

It's obsolete, because it's used for signed ints, only.
dda_lookahead.c: loop up prevF calculation.

This saves a whopping 98 bytes binary size.
dda_lookahead.c: loop up currF, too.

Even more savings this time, 146 bytes binary size.
dda_lookahead.c: put MAX_JERK_{XYZE} into an array.

This costs 88 bytes binary size for now, but will us allow to
loop up a nice section of code.
dda_lookahead.c: loop up speed factor calculation, too.

This saves 250 bytes over the previous version, totalling to a
savings of 162 bytes.

... and it's easier to extend beyond 4 axes now, of course.
dda.c: add a TODO about duplicate code.