Haptic: Don't interpret a direction of polar 35999 as "unsupported type".

(or linux-direction 0xFFFF)

Thanks, Elias!

Partially fixes Bugzilla #2686.

--HG--
extra : histedit_source : 767fa48d79fe8dfe8dda1f155ff1e19a470d7efc
Haptic: DInput's POLAR direction actually matches Linux's direction.

Thanks, Elias!

Partially fixes Bugzilla #2686.

--HG--
extra : histedit_source : 214ecbc7baaf28e6c7ff1eee687ee66f356446eb
Haptic: Explicitly avoid floating point arithmetic if it's not needed.

Thanks, Elias!

Partially fixes Bugzilla #2686.
Haptic: Fix the saturation and deadband parameters' available range.

There was a misconception that Linux's saturation and deadband parameters -
on which the corresponding SDL parameters were based - use only half of the
possible range.

Thanks, Elias!

Partially fixes Bugzilla #2686.
Haptic: Fix clamping bugs on Windows, by using the Darwin haptics code.

Thanks, Elias!

Partially fixes Bugzilla #2686.
Haptic: Add some missing haptic types to test, and fix wrong array-sizes.

Thanks, Elias!

Fixes Bugzilla #2686.
(along with the last several commits.)