include missing header
Backport lcms 2.x support from master, making it optional.

In order to retain support for lcms 1.x, this merges the lcms2-specific
code as a configurable alternative.

The user can specify which version to use by specifying
"--with-lcms=lcms1" or "--with-lcms=lcms2" when running configure. If no
version is specified explicitly, version 1.x will be preferred if both
versions are available. This ensures that GIMP is built with the same
lcms version as an older version, if the same configure switches are
used and the same libraries are available.

This builds on the following commits from the master branch:

    commit c59ab4d817730430b4b037de07abd28281f1dcf7
    Author:     Massimo Valentini <mvalentini@src.gnome.org>
    AuthorDate: Tue Sep 4 17:53:06 2012 +0200

        lcms: oversight

    commit 8bbfc9e5cf4728b9cafc4edf32ab52c32375f9b7
    Author:     Michael Natterer <mitch@gimp.org>
    AuthorDate: Mon Sep 3 20:03:53 2012 +0200

        Bug 675558 - switch from lcms-1 to lcms-2

        Applied modified patch from Hartmut Kuhse which ports to lcms-2.
app: don't crash when a color profile has no information

(cherry picked from commit 9d42df5fa2d2ce598c5896cb0f023a5db65c7f2a)