work around broken headers

Does it make sense to define own variants of GL types at all?
Either we want to use a specific (but interchangeable) type,
then we should use our own types, or we want to use GL types -
but then we should include the GL headers for getting their
definition.