refactored / improved input

- refactored input logging: since https://github.com/GarageGames/Torque3D/commit/57d92d522ef592303e4a72b1b9a4e1c1f0593875 it is possible to log normally via the standart Con::printf. The Input::log is not rquired anymore as it was a special workaround to log to a file when the logging was not initialized yet.

+ replaced INPUT_LOG with INPUT_LOG_DEBUG as the core input log will always log to the console
 + replaced Input::log with Con::printf (only used when INPUT_LOG_DEBUG is defined)
 + removed lots of duplicate Input::log / Con::* functions: not rquired anymore as the input will already log to the file at this point.
 + fixed OS version debug when LOG_INPUT was used and UNICODE is defined (wchar/char issues).
- added more recognized devices:
 - improved EnumDevices to enumerate more devices, not just keyboard, mouse and gamectrl
 - added DI8DEVTYPE_FLIGHT and DI8DEVTYPE_1STPERSON to the joystick list: no reason why not to support these device types.
- added new c++ functionality: DInputDevice::getProductGUID(), DInputDevice::getJoystickCount(), DInputManager::getJoystickProductName(), DInputManager::getJoystickProductGUID(), DInputManager::getJoystickID()
- added new script functionality (via c++ functions above): getJoystickCount(), getJoystickProductName(), getJoystickProductGUID(), getJoystickUID()
- replaced hardcoded (always on and fixed to 24%) deadzone with dynamic set-able via script: "pref::Input::JoystickDeadzoneEnabled" / "pref::Input::JoystickDeadzone"

Signed-off-by: Thomas Fischer <info@beamng.com>