Factor out Position::do_capture_move()