Camera and Camera test

1. add Camera and Camera Test
support perspective camera and orthographic camera.
it will create default camera for each scene. 
camera usage:
auto camera = Camera::createPerspective(60, (GLfloat)s.width/s.height, 1, 1000);
camera->setCameraFlag(CameraFlag::CAMERA_USER1);
layer->addChild(camera); //add this camera to where you want, it will take effect no the scene contain it
layer->setCameraMask((unsigned short)CameraFlag::CAMERA_USER1);  //which camera can see the layer

2. add DrawNode3D to draw 3D primitives which is similar to DrawNode
Will we add getType to the Node? There are so many classes inherit from Node. It is may useful to know the exact class. 
We should use getCameraType in that way.