function Circle (options) {
    options  = options || {};
    var detail   = options.detail || 30;
    var buffers  = getCircleBuffers(detail, true);

    if (options.backface !== false) {
        GeometryHelper.addBackfaceTriangles(buffers.vertices, buffers.indices);
    }

    var textureCoords = getCircleTexCoords(buffers.vertices);
    var normals = GeometryHelper.computeNormals(buffers.vertices, buffers.indices);

    options.buffers = [
        { name: 'a_pos', data: buffers.vertices },
        { name: 'a_texCoord', data: textureCoords, size: 2 },
        { name: 'a_normals', data: normals },
        { name: 'indices', data: buffers.indices, size: 1 }
    ];

    return new Geometry(options);
}
This function returns a new static geometry, which is passed
custom buffer data.

@class Circle
@constructor

@param {Object} options Parameters that alter the
vertex buffers of the generated geometry.

@return {Object} constructed geometry