Change glutin headless mode to be a build config, as it breaks some L…
…inux distros linking to both. The majority of this change is simply re-arranging the code in the glutin port so that the windowed/headless code is configured at build time rather than runtime. There shouldn't be any functional difference as a result of this change.