Refactor out HeadlessFrontend and HeadlessBackend gl independent code to gfx. Define gl::HeadlessBackend as subclass, instantiated by gfx::HeadlessBackend static factory method. GL dependent tests are still using gl::HeadlessBackend directly (not through gfx).