Engine: Implemented on_mouse_move callback

This adds on_mouse_move, a non-blocking function in a similar vein to
repeatedly_execute_always that runs when the mouse has moved and
*before* the cursor gets rendered.