glib: Make all DllImports in custom code use a common const

This way there's less redundancy, and if the library name changes in the
future, it will be changed only in one place.

Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>
glib: Avoid doing the same cast twice in KeyFile.ToData

The cast from UIntPtr to int can fail at runtime, but if your config
file is more than 2^31 bytes, you probably have bigger problems...
generator: Fix small typo in a comment in LPUGen.cs
glib: Remove obsolete Argv-related methods in Marshaller

The ArgvToArrayPtr and ArrayPtrToArgv have been marked obsolete since
2004, and removing them allows us to remove some more code.
Use GLib.Marshaller.Free instead of calling g_free directly

Using the GLib.Marshaller.Free method means we don't need to have the
g_free function definition duplicated all over the place.
glib: Avoid unnecessary qualifier in Marshaller.PtrToStringArrayGFree
glib: Use Marshaller methods in Argv for g_malloc and g_free