Allow a custom terminator and support valueless keys better.
Proper AttribArray / attrib_list support for applicable CGL functions.

It's just CGLChoosePixelFormat here.
Improvements in AttribArray / attrib/list code generation.

- Treat unknown keys the same way while counting elements and while
  processing them (they are assumed to be followed by an int value).
- Support custom terminators.
- Serialize the terminator.
- Reduce the line count of generated code a bit.
- Add forgotten begin/endElement() around writing the keys.
- Improve comment wording.
Use the right attrib_list terminator and support the remaining functions.

Remaining functions were

eglLockSurfaceKHR
eglCreateSyncKHR
eglCreateFenceSyncNV
attrib_list support for glXChooseVisual, the last GLX function.

It is one of the two functions known to apitrace that can have
attrib_list keys not followed by a value.
attrib_list support for WGL function wglCreateContextAttribsARB.
More WGL support. It's ugly and the resulting code probably doesn't compile.