Keep only the most specialized type definitions.

Not an issue on desktop GL, but most types have specialized definitions
for GLES, e.g. in the original XML:

    <type requires="stddef">typedef ptrdiff_t <name>GLintptr</name>;</type>
    <type api="gles2" requires="khrplatform">typedef khronos_intptr_t <name>GLintptr</name>;</type>

The parser originally added all found definitions for each type (along
with all dependencies) to the header. On some platforms these
definitions are not the same and that can cause compilation errors.
Moreover the additional (otherwise unneeded) dependencies on stddef,
inttypes etc. bloat the generated file.

The parser now selects only the most specialized definition available
for each type.