Begin support for multiple renderers.

Add new camera classes to target specific OpenGL profiles or versions.
Abstract OpenGL dependencies into temporary file until all OpenGL operations are handled by camera classes.
Re-enable some code for iOS to support GLES1 drawing path.
Add BACamera argument to transform to allow abstracting transform operations per-renderer.
Fix file imports for OpenGL, and add new factory for cameras suited to gl profile of particular NSOpenGLContext.