HapticOpenFromJoystick() problems in 2.0.4 rc1

I have attached a proposed patch to issue 3021.

When using SDL_HapticOpenFromJoystick(), the original code did not
(re)enumerate the axes. This returned a new haptic device with 0 axes.
Later, when a new effect is created, SDL_SYS_SetDirection() would set
the flags to include DIEFF_SPHERICAL, regardless of what the caller
actually set. (see Line 566 in SDL_dinputhaptic.c). This would cause the
SDL_HapticNewEffect() to fail (or interpret the coordinates incorreclty.)

The patch moves the call to IDirectInputDevice8_EnumObjects() outside of
the if() block so that the axes are (re)enumerated for the new haptic

Please review and considered it for inclusion to SDL,