code: function(curve, location) {
  		var cc = _getCurveFunctions(curve.length - 1),
  			_x = 0, _y = 0;
  		for (var i = 0; i < curve.length ; i++) {
  			_x = _x + (curve[i].x * cc[i](location));
  			_y = _y + (curve[i].y * cc[i](location));
  		}
  
  		return {x:_x, y:_y};
  	}
docs: calculates a point on the curve, for a Bezier of arbitrary order.
  @param curve an array of control points, eg [{x:10,y:20}, {x:50,y:50}, {x:100,y:100}, {x:120,y:100}].  For a cubic bezier this should have four points.
  @param location a decimal indicating the distance along the curve the point should be located at.  this is the distance along the curve as it travels, taking the way it bends into account.  should be a number from 0 to 1, inclusive.