Finally timestepping is working

Two key items were fixed:
1) The acceleration function lifted as is from the tutorial was a spring
function, which accounted for the odd movement seen earlier without any
actual input or initial velocity. The tutorial did say the acceleration
function was to be defined for the task at hand - my fault for not
understanding everything initially.
For now I'm not dealing with acceleration so just setting to zero
everytime.

2) The acceleration function (again) was overwriting the dx/dy
components with garbage because it was returning just the dxv/dyv
components. Thus the dx/dy components written to the output variable
earlier were overwritten with whatever was in memory. Fixed by passing
the derivative as a reference to acceleration function.