Adding copy ini section function

Fix: Don't require trailing newline in inifile
Adding color option to OSD::DrawMessages
Adding capture mouse hotkey. Useful with m+ mouse input.
Adding radius setting to gcpad

updates analog stick graphics

the optimal radius is directly outside the padclamp() values
Saving input config settings to the isoini if an iso is running, and to the base settings when an iso is not running.

The purpose is to automate saving and loading game input settings.

Game specific wiimote IR settings (for the absolute rather than relative pointer position) are also possible as a result. Almost all games use different IR calibration because the wiimote SDK apparently doesn't provide default values.

If iso input settings are not present in the isoini the base settings are loaded instead.
Adding RawInput mouse, for multiple mice support

Replacing GUID_SysMouse GetDeviceState with GetCursorPos and GetAsyncKeyState since the presence of WM_INPUT messages means that GUID_SysMouse GetDeviceState is zero.
Adding m+ emulation and wiimote logging

Adding sensitivity setting for IR input

Exposing relative mouse data in CI
Adding roll (m+ y-axis) to the tilt input

Connecting swing input to m+ too
Adding overall range setting for tilt and swing

added option to disable IR, in m+ games like zelda ss it's not necessary in the game and may interfere with the m+ data. it's probably not possible to attempt to sync the m+ and IR for slow movements (for fast movements it doesn't matter).

Changing the wiimote dialog from modal to non-modal because to tweak settings while playing it's necessary to be able to have it open without blocking the main window

fixed sensitivity setting for non-relative cursor inputs
separated acc and gyro range and added y-axis acc move in response to the pull up sword from the stone problem in zelda ss, the main problem is that the y-axis acc move is missing, but the m+ gyro is also interfering with the acc values.

minor fixes for the free wiimote config dialog. TODO: make the dialog update when a new game is started that loads a new ini, and load the baseini when a game is stopped.
modified swing to do a thrust, i.o.w. a directional acceleration that switch to a deceleration

fixes zelda ss shield, stab attack, spin attack, pull out sword of stone
fix nunchuk acc bug, a bit was missing
improved m+ cursor accuracy, horizontal cursor is disrupted by ir, ir is therefore hidden at < -0.25 and > 0.25 for m+ and it's better to turn it off altogether ingame to avoid horizontal jumps when the ir goes in and out of visibility, vertical cursor is controller by gyro and accelerometer pitch and will drift back to center unless the acc is pitched, the ir position therefore control pitch too when m+ is active

split ir and gyro sensitivity for better control, the ir sensitivity also applies to the accelerometer vertical pitch from ir data

added modifier key to cursor that allow fast m+ forces when held down

fixing issues with the modeless wiimote dialog

fixed an array overrun in the thrust class that caused crashes

renamed tilt to rotate because it's a more general motion that can include yaw
added base modifier key to rotation class to allow better control of the slow and fast gyro state

added show IR modifier to be combined with moves such as the zelda ss stab attack that require a visible IR

some ui fixes

added IsRelative() to CI for handling relative input

both RInput and the m+ support now have a theoretically pleasing implementation and good integration into the existing classes
fixes for recent changes
Fixing red steel 2 sword by emulating rotation g-forces.

rotation fast mode yaw and pitch swing the sword.

added rotation option to settle gyro if the wm has been still for a while, the higher Gyro Settle the longer before it settles

various fixes in emu wm code and wm config dlg

adding m+ logging
Changing gameini inputconfig to copy section from baseini on first use, rather than doing a LoadConfig override.

moving Wiimote IR settings to [WiimoteFirstUse] to avoid duplicating the settings in [Wiimote1-4]

fixes to CI and DInput init logic. CI::Init and CI:IsInit waits for init to complete.

wiimote logging

linux build fixes
Unified gc pad with wiimote regarding a nonmodal config window and isoini saves
Adding toggle keys for true/false settings

changed direct call to RenderText in VideoConfig to indirect call through OSD::DrawMessages

fixed bug that allowed multiple wiimote config dialogs.
fixed CI refresh again, accidentally broken a few commits back.