Refactor CC3Scene drawing and add framebuffer GL access.

Refactor CC3Scene drawScene method. Add drawSceneContent method for customizing
app scene drawing. Add framebuffer methods to CC3OpenGL cluster. Viewport tracked
per camera. Change CC3Scene iVar naming. Improve compilation warning resilience,
including shadow variables and pointer-interger conversion. Add additional
compilation warnings to CC3DemoMashUp project. Fix issue in resetting bound
texture in 2D cache. Fix issue with CC3GLSLVariable size tracking.
Add framebuffer-based CC3RenderSurfaces.

Add CC3RenderSurface protocol & CC3FramebufferRenderSurface implementation.
Add basic render to texture in CC3DemoMashUp. Create CC3Texture, CC3GLTexture2D &
CC3GLTextureCube from CGImages already in memory. Create empty CC3GLTexture2D &
CC3GLTextureCube for use as a rendering surface. CC3PFXResource internally cache
CC3GLTexture instead of CC3Texture. Add GL get int, float & string methods.
Refactor CC3GLView to use framebuffer-based CC3RenderSurfaces.

Refactor OGLES2 CC3GLView to use framebuffer-based CC3RenderSurfaces managed by
a CC3GLViewSurfaceManager instance. CC3UIViewController now requires its view be
a CC3GLView. OGLES1 & OGLOSX pending. Fix CC3Camera frustum not built when
accessed for shadows. Shadow volumes now work when multisampling is active.
Add ability to easily draw in clip-space for backdrops and post-processing.

Add CC3ClipSpaceNode mesh node to easily draw rectangles in clip-space.
Add backdrop property to CC3Scene. CC3Layer subclassed from CCLayer and no longer
draws the 3D scene backdrop. Shadows painted with a CC3ClipSpaceNode subclass.
Add backdrop to CC3DemoMashUp scenes. CC3Scene depth clearing now controlled via
drawSceneContentsWithVisitor: method. Deprecated shouldClearDepthBuffer.
Add post-rendering image processing.

Refactor CC3RenderSurface protocols and classes. Add ability to resize textures
attached to framebuffers. Add grayscale image processing option to CC3DemoMashUp.
Add TV model to CC3DemoMashUp to display render-to-texture scene.
Add underscore prefix to all ivars. Fix zero node scale causing matrix singularities.
Add surface manager to OSX GL view.

CC3GLView-GL for OSX now uses surface manager. Refactor OS-dependent surface mgr
code into GL views. Refactor CC3UIViewController into parent CC3ViewController class
and subclasses CC3UIViewController for iOS and new CC3NSViewController for OSX. Use
CC3NSViewController in OSX apps. Remove CC3UIViewController viewDidLayoutSubviews and
deprecate runSceneOnNode:. Move CC3OpenGL multisampling to subclasses CC3OpenGLES2 &
CC3OpenGLES1. Rename Mac Xcode templates to OSX.
Add render depth buffer to texture.

Expand CC3GLTexture2D texture format options to include depth formats. Add rendering
of depth buffer to a texture, and visualization of the depth buffer to CC3DemoMashUp.
Simplify creating and managing off-screen surfaces.

Add CC3GLFramebuffer colorTexture and depthTexture properties. Add size property
to CC3GLFramebuffer. Attachments created without size and resized when added to
framebuffer. Depth attachment with stencil auto-attached to stencil attachment.
Add CC3GLViewSurfaceManager properties to extract texel format and type from
renderbuffer formats.
Simpify scene drawing building blocks.

Move utility mesh node subclasses to new CC3UtilityMeshNodes.h file.
Move shouldDrawInClipSpace to CC3Node from CC3NodeDrawingVisitor. Move drawing
visitor init from scene to visitor. Check max size of textures and renderbuffers.
Add Nikita Medvedev's Blender-POD Batch Converter tool.
Update Blender-POD Batch Converter tool.
Update Blender-POD Batch Converter tool
Read and write color content to and from surfaces and textures.

Add pixel reading and writing to surfaces. Add pixel writing to textures. Clear
buffers through surface. Move surface activation to visitor and track surface
within visitor. Lazy init the surface in the visitor. Node selection on touch
reads pixel from surface. Add PiP window in TV screen of CC3DemoMashUp using
surface reading & writing. CC3Layer now requires a CC3ViewController.
Merge branch 'master' of https://github.com/medvedNick/cocos3d
Fixes to batch POD exporting.
Add dynamic generation of enviormental-map cube-map textures.

Add CC3GLEnvironmentMapTexture class as cube-map texture that can be dyanmically
and automatically rendered from snapshots of the scene. Cube-map textures now
loaded in expected orientation and flipped during loading to compensate for
internal GL storage of cube-maps. Add CC3GLTexture methods to flip the image
horizontally, or rotate 180 degrees. Adjust standard shaders to work with new
cube-map texture orientation. Fix issue with reading and writing color
content in cube-maps. Add reflective teapot demo to CC3DemoMashUp to show a
scene reflection automatically updating as objects move around the scene.
Color & depth buffer clearing now controlled by surfaces. Add PVR skybox option
to CC3DemoMashUp addSkybox method.
Fix CC3PODCamera orientation during animation.

Fix CC3PODCamera orientation during animation. Clear scaling animation during
CC3PODCamera loading. Add camera backpointer to CC3Frustum to access view matrix.
Remove precompiled headers from demo and template projects.
Make bounding volumes optional.

Fix issue where CC3Billboards not assigned shaders during node picking. Bounding
volumes no longer required or created automatically. Add CC3Node createBoundingVolumes
and deleteBoundingVolumes methods to manage bounding volumes within a node assembly.
CC3Mesh defaultBoundingVolume property deprecated and moved to CC3MeshNode.
Don't change cam dims from surface if they're zero. Camera frustum, separate marking
proj dirty from marking frustum planes dirty. Remove extraneous local var in macro
not used in Release builds.
Rename CC3BoundingBox to CC3Box. Rename related functions.
Merge CC3Texture and CC3GLTexture class hierarchies.

Merge CC3Texture and CC3GLTexture class hierarchies. Add ability to extract cocos2d
CCTexture2D instance from a CC3Texture.