fluid-fun: Don't dlclose libfluidsynth, ever

Some versions of the library do nasty things with thread
local storage without cleaning up after themselves.
Reorder some lines
MRI: Add 'System.raw_key_states' to query full keyboard state

Returns a byte array with all key states (0 = released,
1 = pressed) indexed via SDL_SCANCODE_* enums.
Remove left-over dead code
MRI: Move former 'System' module into 'MKXP' module

This breaks script compatibility.

'System' is way too generic of a name to reserve for mkxp use,
and I have already seen at least one occurance in the wild of
it being used by user scripts.

Ideally, all mkxp RGSS extensions would be moved under this
module, but I feel like the core modules (Input, Graphics etc)
are more safe as users are hesitant to directly extend these.
MRI: Revise 'MKXP.data_directory' behavior

This function which was formerly a simple wrapper around
SLD_GetPrefPath() is changed to instead return the directory
assembled from org/app name specified in mkxp.conf, so one
can be sure that both mkxp and user scripts will always write
into the same directory when a custom path is preferred.