Adding log colors

because

* color makes it faster to identify elements of a log message
Adding color option to OSD::DrawMessages

because color can indicate type of message
Adding math functions
Removing newline EOF requirement from ini

because it doesn't have meaning
Adding copy ini section function

because it's sometimes useful to copy sections between files
Adding technical name for ISO region

because it describe the technical difference between ISO regions more directly than the region name
Adding capture cursor function

because it's useful for cursor input
Changing the device combo box text to read only

because it's not meaningful to change it
Changing the input dialog range slider position

because that remove empty space
Fixing input dialog rounding
Adding range option to shake

because that allow adjusting the force
Changing the input dialog from modal to non-modal

because to test settings during emulation it's useful to have it open without blocking the main window
Adding option to save input settings to ISO ini

because that automate saving and loading ISO adjusted input settings
Creating a separate device per mouse

because that allow using the mice for different controllers
Fixing gyro emulation

because

* it's sometimes more efficient to use an emulated rather than real gyro
Adding deceleration after acceleration to force

because it's expected by some programs
Emulating acc g-forces from gyro values

because that's expected by some programs
Adding gyro controls

* range setting for tilt and force
* fast gyro toggle
* IR toggle option because it's useful with gyro input
* toggle keys for binary settings