Convert CC3Performance demo app to ARC.
Convert CC3Demo3DTiles demo app to ARC.
Convert CC3DemoMashUp demo app to ARC.

Convert CC3DemoMashUp demo app to ARC.
Fix mem leak with PFX effects that are unused and therefore released.
Convert cocos3d libraryto ARC.
Convert cocos3d Xcode template projects to ARC.

Convert cocos3d Xcode template projects to ARC. Move non-ARC cocos2d code to
separate static library templates and include in cocos3d templates. Refactor
cocos3d template components.
Deprecate NSObject autoreleasedCopy method, and change all uses to copy method instead.
CC3Identifiable userData property must now be an object instead of generic bytes.

CC3Identifiable userData property must now be an object instead of generic bytes.
CC3Identifiable sharedUserData property deprecated. POD file loading sets userData
property of CC3PODNode, CC3PODMaterial, CC3PODResource & CC3PODResourceNode.
CC3OpenGL extensions use NSSet to speed up supportsExtension: method.
CC3GLViewSurfaceManager shouldUseDedicatedPickingSurface settable to YES to
force use of dedicated picking surface.
Fix bug where semantics kCC3SemanticTexture2DCount &
kCC3SemanticTextureCubeCount were always set to zero in shaders.
Replace CCArray with NSArray & NSMutableArray.

Replace CCArray with NSArray & NSMutableArray. Track CC3ParticleEmitter
currentParticleCapacity property in ivar instead of CCArray capacity.
Fix background dispatching to foreground thread.

CC3Node addChildFromBackgroundThread: & CC3Light addShadowFromBackgroundThread:
dispatch to the CCDirector.runningThread directly instead of main dispatch queue
because OSX uses DisplayLink thread to render.
Fix mem leaks due to move to NSArray and ARC.

CC3Node transformListeners a set. Use weak references for CC3Node target
and transformListeners. CC3Cache now uses NSValue to hold weak references.
CC3CacheableWrapper class cluster removed. Use weak references to break several
retain cycles in node hierarchy and scene components. Add NSThread runBlockAsync:
& runBlockSync: methods for dispatching code to a specific threads.
Redesign vertex skinning algorithm.

Vertex skinning bone matrix influences now relative to CC3SkinMeshNode,
instead of skeleton. CC3SkinMeshNode defaultBoundingVolume is now a sphere.
Add CC3NodeBoundingVolume scaleBy: to allow fixed BV to be scaled.
Skinned nodes in CCDemoMashUp use default spherical BV.
Make CC3Node transform listeners thread-safe.

Add CC3NodeTransformListeners class to hold transform listeners with lock
around underlying collection of transform listeners.
Move CC3LocalContentNode and CC3NodeListenerProtocol into their own source files.
Fix issue of actions stopping prematurely during adding nodes under OSX.
Check that forwardDirection is not same as referenceUpDirection.
CC3Texturable.vsh moved to model-space instead of eye-space.
GLSL vertex skinning can now use quaterion & translation bones.

GLSL vertex skinning can now use quaterion & translation bones intead of
matrices. Added CC3TexturableRigidBones.vsh shader to provide sample GLSL.
CC3DemoMashUp dragon & mallet animated with quaternion/translation bones.
CC3Vector4 & CC3Quaternion structures are now unions with 3D vector component.
Deprecated CC3VectorFromTruncatedCC3Vector4 & CC3VectorFromQuaternion.
Added CC3QuaternionRotateVector function.
Clean up CC3Math.h definitions.