Declare res_init() for builds against Android's Bionic

res_init() exists in the C library here and as such is detected
by configure, but it is not declared in any header.
Remove a preprocessed-out code section

If it has not been needed since 2000, there probably is no use for it.
Moved the G_MAIN_POLL_DEBUG stuff to gmain-internal.h

Now that code is about to drift from gmain.c into the poll backend,
the debug infrastructure should better be shared in the header.
I'm too lazy to deduplicate it in gpoll.c, though.
Started factoring the poll backend out of GMainContext
Factored out the poll-centric API support functions

The methods of GMainContext that assume it is backed by a GPollFunc
will be supported only by the poll backend. The context will switch
to the poll backend to complete any of these functions.
Provide a user data pointer to custom main contexts

It could be used to pass a uv_loop_t* for the libuv backend,
for example.
Added acquire and release functions for main loop backends
Added g_main_context_check_sources()

It takes the part of g_main_context_check() that is useful
to main loop backends, sans the fd array.
Factored iterate and poll out into the backend
Back to mostly lock-free operation in the poll backend

Backend data are mostly used in functions that are called with
the lock held at GMainContext. So I'm moving the debug
dumping code from poll into the lock-safe query function,
to remove the extra backend locks that were needed to
guard that.
Factored out run and quit into the poll backend