Add API reference

We use gtk-doc to generate the API reference.

Still needs lots of love, but it's a starting point.
docs: Add description for graphene-gobject
Add custom allocator for SIMD-backed types

While we're guaranteed the alignment of SIMD types on the stack, the
same guarantees do not apply when allocating them on the heap. We can
assume that malloc() will align to multiples of 8 and 16 on basically
all the platforms we care about, but it's not something we can take for
granted.

Luckily, we can check if the platform we're compiling for has an
allocator function that supports alignment; with the advent of ISO C11
and its aligned_alloc() the chances that the platform has that function
or one close to it in semantics and behaviour, the check is likely to
turn out something we can use.
build: Add top-level `benchmark` target

Just a top-level wrapper for the `benchmark` target under src/bench.
docs: SIMD types are now public
build: Hide contents of scalar simd4f_t from gtk-doc
build: Let gtk-doc check graphene-config.h
bench: Use a better allocator

We cannot use graphene_alloc() because it's a private symbol, but we can
easily implement it for the matrix benchmark.
docs: Document graphene_point_t
docs: Document graphene_simd4f_t
quaternion: Don't go through convenience types

We can use the SIMD low level API directly instead of going through the
convenience classes.
docs: Various documentation fixes

Try to reduce the amount of warnings coming from gtk-doc.
docs: Documentation fixes