Well, I have this working, in a basic form.
I would still like the ability to say "GLBasic, don't use initialise OpenGLES" or "GLBasic, don't initialise OpenAL", as I now have two engines running at once, which is a little uncomfortable to say the least.
Once I get the full headers converted and all of the bugs ironed out, I'll publish them here.