Improve pixel format selection in Framework implementations
There are a number of places where the Framework fails to create a surface because instead of gracefully adjusting capabilities, LWJGL/NEWT throw an exception. In some cases, a JVM fault occurs and the process just halts. In some cases, this depends on the graphics card/OS.
Steps to reproduce multi-sample selection failure on Intel: 1. Lock into integrated only mode on Mac laptop 2. Create a surface with a MultiSample value other than NONE 3. nChoosePixelFormat() throws a LWJGLException
With NEWT on Mac, any depth bit size other than 16 causes a fault.
With NEWT on Windows, the onscreen shadow context can't be shared or created properly, and only pbuffers work as expected for a shadow context.