Bug 888 - Validate CPU Runtime Performance: X11GLXGraphicsConfiguration.GLXFBConfig2GLCapabilities(..)

X11GLXGraphicsConfiguration.GLXFBConfig2GLCapabilities(..) ran over all FB configs and for each it grabbed
native config values separately. Fetching them in bulk mode saves around 7% of this function's cost.

Also reuse XRenderPictFormat instance for 'XRenderDirectFormat XRenderFindVisualFormat(..)' call,
saving a few NIO creation cycles w/ StructAccessor.

Biggest savior is X11GLXGraphicsConfigurationFactory.chooseGraphicsConfigurationFBConfig()'s
fast path w/o chooser and usable 1st FBConfig. Here we only issue 'GLXFBConfig2GLCapabilities(..)'
on the first valid entry.

Test w/ 50 X11GLXGraphicsConfigurationFactory.chooseGraphicsConfigurationFBConfig() invocations:
  - pre change:  1.708 ms
  - post change:   650 ms

Time is no spent almost solely on native glXChooseFBConfig (546ms).
Bug 888 / Bug 891 - Enhance GLCapabilities-Query: Apply changes of commit 613e33ee8ffc1f2b9c5db1e1b5bb5253a159ed6d to EGL and WGL.

Note: WGL config query is already performed as a bulk operation.
Note: OSX does not perform such queries.
Bug 888 - Validate CPU Runtime Performance: Only use one HashMap to collect unified gl- and glx-extension strings.

- HashMap is more efficient than HashSet
- No need to use sub HashSet's .. we can use global HashMap.
  'Loosing' duplicate GLX entries due to GL duplicates is acceptable.
Test DumpGLInfo: Dump caps list and extenions