Support debug extensions

Here's two changes that fix a minor oversight and improve existing functionality.

1) glLinkProgram was not being called if tracing was not enabled (which is very rarely the case given existing code). There is likely a simpler way to make this change.

2) Additional support for debug extensions. This exposes the extension strings and entrypoints so that they can be detected and called by the application, even if the underlying driver does not expose them. The calls will appear in qapitrace and may be replayed by glretrace if the entrypoint is not marked as having no sideeffects and the driver actually supports the extension. This does not fully implement the extensions according to their specifications, so some applications may experience unexpected behavior.