Check isDone based on progress value

Changed from using this macro:
_EQLF_(x, y, epsilon) (fabsf ((x) - (y)) < epsilon) where
x is progress (0.0..1.0) and y is always 1.0 and epsilon is
0.001, to use this:
progress >= 1.0

Why?
Because in really long animations we will still round the progress,
so simply check if it's larger or equal to 1.
Added a check to don't run the last animation block twice