Bug 691169 - Gimp fails to open files with UTF8 characters as filenames...

...when started via Windows Explorer (e.g. the file context menu)

When built against GLib >= 2.39.90, use g_win32_get_command_line()
and g_option_context_parse_strv() which handle all sorts of windows
filename encodings properly.
app: add double precision support, for completeness

and because it makes us look utterly cool.
app: shuffle precision enum values around to make room for U64

and add code to handle the old values from XCF files < version 7.
build/win: Upgrade glib to 2.39.91

The unstable version is needed for the fix in
774e064fbf4bc81add8d00182ee677175aa23c55
app: fix wrong version number comment in xcf-save.c
app: set the sensitivity of the new double precision actions
Bug 605872 - Units dropdown list is not updated

Add private API _gimp_unit_store_sync_units() which emits
"row-inserted" on each unit that didn't exist when the GimpUnitStore
was created, or when sync_units() was called the last time.

In GimpUnitComboBox, call sync_units() each time the combo is popped
up, or a unit is set on the combo.
app: set the idle_id to 0 in gimp_image_profile_view_query()

fixes warnings from dispose() about removing a source that doesn't
exist.
Updated German translation
Updated italian translation.
build/win: Upgrade freetype2 to 2.5.3
xcf: forgot to register a loader for XCF version 7
Enables aligning of elements using the active Path

For some reason, using the image active Path as
a reference for the align tool was displayed
in the UI, but disabled in the code.
Adds "fill" arrange modes to the Align Tool

The Align Tool had to be used in a very hacky way if one
intended to evenly distribute items across an image,
or other reference object (it would actually require one to
calculate the item spacing out of GIMP). This adds vertical
and horizontal fill modes: the reference object is divided
in N equal segments, where N is the number of items,
and each item is placed in the center of one of
these segments. The existing "offset" parameter
is used as an extra margin for the distribution,
and can be set to negative values, so that the items can
even get moved outside the boundaries of the reference object.
app: add signal GimpWindow::monitor_changed()

and emit it when the window moves between monitors or screens.
modules: make display-filter-lcms.c find the right monitor...

...when its GimpColorManaged's GdkWindow exists but is hidden, which
happens for all but the active tab of a single window with multiple
images open.
app: make sure GimpImageWindow notifies all its shells of monitor changes

Call gimp_color_managed_profile_changed() on all newly added shells,
and on all shells in GimpWindow::monitor_changed().
app: some formatting cleanup in GimpImageWindow
libgimpcolor: start adding profile utility functions to gimplcms.[ch]

Add functions to get a profile's description, manufacturer, model and
copyright, and use them instead of implementing the same 10 times.

Also add a GimpColorProfile typedef which avoids both having to
include lcms globally or using a gpointer instead (which looks bad and
non-descriptive in an API).
libgimpcolor: link test-color-parser against libgimpbase