pass any preprocessor flags defined by environment to gcc
Reuse initial ddpy if XOpenDisplay fails in display thread

Chromium renderer sandbox prevents opening new sockets after constructors have
run.  As a result, XOpenDisplay will fail in display threads.  In that case,
try to reuse initial connection: this is extremely fragile, but seems a bit
better than failing altogether.

Chromium discussion: https://code.google.com/p/chromium/issues/detail?id=351804
Avoid using primus.ddpy in match_fbconfig
Avoid using primus.ddpy in match_visual (GH-132)
Remove some of the remaining uses of primus.ddpy
Defer glXChooseFBConfig from library constructor to first use (GH-151)
Revert back to using compiler support for ifuncs (GH-153)

Designating ifuncs via top-level asms is miscompiled with LTO in all GCC
releases so far, since LTO partitioning can put the asm and the function
definition in different partitions.  Though LTO is not useful for primus,
prefer avoiding breakage to supporting building with old (<4.6) GCC.

This reverts commits 3cc169b3 and 38731d53.