Annotate all public symbols

We are going to switch to compiler annotations to determine the
visibility of the symbols.
Annotate symbol visibility in Cally

Like we did for the main library.
Annotate symbols in backend-specific headers

Like we did for the rest of the API.
Include "config.h"

Otherwise the symbol annotation won't be expanded correctly.
Use _CLUTTER_EXTERN to define CLUTTER_VAR

The macro is defined outside of the header, and does all the heavy
lifting of getting the proper attributes.
symbols: Fix the expected ABI

Some symbols that were never meant to be exported ended up in the
symbols file.
New visibility handling in Clutter

Instead of listing every public symbol inside an ancillary file, we can
use compiler annotations. This scheme is also used by GLib and GTK+.

The symbols file is left in tree until the Visual Studio rules are
fixed, but it's not used any more during distcheck.

I double-checked that the exposed ABI is the same before and after this
change, except for symbols that were never meant to be public in the
first place, and that escaped our attention when we generated the first
version of the symbols file.
build: Remove abicheck.sh

We now control the visibility of symbols directly from the header files,
so we always have the correct ABI.
cally: Remove docbook tags
docs: Move to markdown

We're removing docbook tags in favour of the markdown syntax.
docs: Port deprecated sections to markdown syntax

And drop docbook tags along the way.
docs: Port backend-specific sections to markdown
docs: Remove last stray DocBook tags
docs: Add missing symbols to the API reference
Require GTK-Doc 1.20

We want the fancy new MarkDown parser.
docs: Remove --sgml-mode from the build options

We're not providing SGML any more.
Release Clutter 1.18.0
Post-release version bump to 1.18.1