Add deps/eglib library from the mono project

This adds a deps/eglib api which is a small MIT licensed library that is
api compatible with enough of the glib api to run Cogl. This replaces
deps/glib and deps/gmodule for use when Cogl is built with
--enable-standalone.

This code is based on eglib from the mono project, with a few updates
and additions to handle apis that Cogl uses that mono doesn't.

As a reference point for monitoring eglib changes in the mono project,
this code is based on commit d50c836721f22df74a45185d51d0b9d37c370e33
eglib: remove some redundant files

The eglib as found in the mono git repository can be built separately
from the rest of mono, but to avoid maintaining parallel build scripts
for eglib this strips away the autotool related files from deps/eglib.
eglib: remove unused gpattern and gmarkup apis

This simply removes a couple of eglib apis that aren't needed by Cogl
and the corresponding tests.
eglib: simplify compiler checks

This removes a number of ./configure time compiler checks in favour of
compile time checks and also assumes you are building with a modern
compiler. For example we assume <stdint.h> and <inttypes.h> headers are
available.

These changes will make it easier to maintain the ability to build Cogl
on Android via an Android.mk file where it's not usual to use the build
system to check compiler features.
Tightly integrate ulib (was eglib)

Instead of maintaining optional support for using deps/eglib instead of
glib we now always use this code. This way the code is always being
tested so we are less likely to break support for building Cogl without
glib, and because the api no longer needs to be swappable we are free to
make Cogl specific changes to the api.

So that we can still support glib integration the eglib library has been
renamed to ulib and symbols are prefixed with 'u_' or 'U_' so that they
don't clash with glib.

GLib integration for GError and GType continues to be supported.
sdl2: Add android support

This adds Android support to the SDL2 winsys. Unlike some other window
systems, Android's SDL2 backend only allows you to create one window.
Since the Cogl SDL2 winsys creates a "dummy" window when setting up the
display (so we have something to bind a GL context to) it wasn't then
possible to create a CoglOnscreen framebuffer for rendering. This
updates the winsys so that the first CoglOnscreen framebuffer created
will actually refer to the dummy window we created earlier.

Note: it doesn't matter that we request the dummy window to have a 1x1
size, and request for it to be hidden because these are overridden by
SDL's Android backend.
Add Android.mk based build support

This makes it possible to build Cogl for Android using ndk-build instead
of autotools. This is the typical way to build software for Android and
much simpler than using autotools given that there's no need to
dynamically probe the platform being built for. To make it easy to
maintain this way of building Cogl this moves the list of source files
that need to be built into a Makefile.sources file that can be included
by cogl/Makefile.am and Android.mk
examples: Add a new SDL2 based Android example

This adds another examples/android project that uses SDL instead of
glib. The example itself is a copy of examples/cogl-sdl2-hello.c
which includes basic input handling to move a triangle around the
screen.
stash: Adds initial CoglAtlasSet api

The aim is to make CoglAtlasSet and CoglAtlas public apis.