Polygon2D = function() {
            this.vertices = [];
            var i, l;
            if (arguments.length > 1) {
              //comma-separated Vec2D's were passed in
              for (i = 0, l = arguments.length; i < l; i++) {
                this.add(arguments[i].copy());
              }
            } else if (arguments.length == 1) {
              var arg = arguments[0];
              if (is.Array(arg)) {
                // if it was an array of points
                for (i = 0, l = arg.length; i < l; i++) {
                  this.add(arg[i].copy());
                }
              }
            } //otherwise no args were passed, and thats ok
          }
@class
@member toxi
@param {Array<Vec2D>|Vec2D...} [points] optionally provide points for the polygon