Adding PointGeometry support for pointclouds

The source of this code is P.Cozzi's pointgeometry branch on Cesium github.
https://github.com/AnalyticalGraphicsInc/cesium/commit/73f4042fd8c64bfafa1fa01f4fe6eaf2c1dda655

Here is sample code that will create a pointcloud cube near Philadelphia.

    var rand = function randomIntFromInterval(min,max)
    {
        return Math.floor(Math.random()*(max-min+1)+min);
    }

    var myPoint=Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883);
    var typedArray = [ myPoint.x, myPoint.y, myPoint.z];
    console.dir(myPoint.x);
    console.dir(myPoint.y);
    console.dir(myPoint.z);
    for(var a=0;a<1000000;a++){
        typedArray.push(rand(1215000, 1217000));
        typedArray.push(rand(-4737261, -4735261));
        typedArray.push(rand(4081287, 4091287));
    }
    var instance = new Cesium.GeometryInstance({
          geometry : new Cesium.PointGeometry({
            positionsTypedArray: typedArray
          }),
          id : 'point',
          attributes : {
              color : new Cesium.ColorGeometryInstanceAttribute(0.0, 1.0, 0.0, 0.5)
          }
        });

    scene.primitives.add(new Cesium.Primitive({
      geometryInstances : [instance],
      appearance : new Cesium.PointAppearance()
    }));