Adding CCNearAndFarClipping structure:

* previously using CCPoint to store near and far clipping values that's used by CCCamera - not very nice
Cleaning up Clear methods in CCDrawManager:

* chaining methods
* when clearing depth buffer we should be using 1.0f which sets the buffer to the furthest depth
CCCamera: Adding 3d support for camera to lock onto a 2d bounds:

* Default camera is 3d, but the default camera is setup so that the projection is on (width, height, vertexZ) of target
* This means that for most users, they won't be able to differentiate between an orthorgraphic/ perspective camera
* The benefit is that "faux" 3d effects, such as orbit camera will now appear correctly
* If a user wants an orthographic camera, they still have that option by passing in the Projection2D arg
Setting default layer constructor camera's to have null camera if not specified:

* Creating a Camera with zero bounds causes a crash when using a perspective camera
* It's better to use a default of null, then when AddedToScene is called we can test for null camera and create one
Moving IsUsingDepthTesting from CCWindow to CCLayer:

* potentially users may want to toggle depth test when drawing different layers
* CCLayer modification was fused into previous commit
Reverting change to CCWindow: return IsUseDepthTesting property
Revert change: CCLayer: no longer uses IsUseDepthTesting
Small fix in CCDrawManager: Clear should be setting depth buffer to 1, as that's the farthest
CCNode: UpdateTransform now uses internal xna matrices rather than AffineTransform

* The affine transform is a 2d transform => Any scales/translations/rotations that affect z coords will not be incorporated
* Therefore, we instead internally use the xna transform
* AffineTransforms are still there and calculated, however we should consider extending these by adding a AffineTransform3d

* Additionally, CCSprite needed to updated to calculate transformedQuads correctly for a similar reason.
* TransformedQuads are used by a CCSpriteBatchNode. We should consider trying to incorporate a separate rendering pipeline to remove CCSpriteBatchNode.
Fixing up some tests to incorporate 3d support
Merge branch 'master' of https://github.com/mono/CocosSharp