Por otro lado, te recomendaría que encares el problema desde otro ángulo para no tener que extender objetos nativos, que si no se tiene la debida precaución, puede generar problemas:
Código PHP:
//constructor
function ParticleSystem(){
this.particles=[];
}
ParticleSystem.prototype.mover=function(){
for(var i=0,l=this.particles.length;i<l;i++){
...
}
}
O bien crear un objeto partícula y trabajar sobre él. O una combinación de ambos. En fin, la idea sería trabajar con el prototipo de tus propios objetos en lugar de alterar el de los objetos nativos.