glx: Refactor and simplify context creation

This lets us better separate context creation between the different
backends.
6 files changed