Now that we have all symbols annotated as GLIB_PUBLIC, we can switch
the build to default to hiding symbols. The major advantage of this
is that it's much harder to accidentally leak symbols.
This patch only adds it to CFLAGS for the sublibraries; we don't want
to affect things like gio/fam, nor the executables.
However, this patch only changes Unix - on Windows, we keep the
.symbols file because we still ultimately need a .def file in order to
generate a .dll.
To unify both Unix and Windows again, we need to do what cairo does
and parse the headers at build time.
https://bugzilla.gnome.org/show_bug.cgi?id=688681