title: Bind eventListener issue
body: <p>i have a issue with the binding of my events with your respective sprite.</p>
  
  <p>This is my code: </p>
  
  <pre><code>var GameLayer = cc.Layer.extend({
      sprite:null,
      ctor:function () {
          this._super();
          var size = cc.winSize;
  
          var gradient = cc.LayerGradient(cc.color(0,0,0,255),cc.color(0x46,0x82,0xB4,255));
          this.addChild(gradient);
  
          for(i=0;i&lt;16;i++){
              var tile = new MemoryTile();
              this.addChild(tile,0);
              tile.setPosition(49+i%4*74,400-Math.floor(i/4)*74);
          }
  
          return true;
      }
  });
  
  
  var MemoryTile = cc.Sprite.extend({
      ctor:function() {
          this._super();
          this.initWithFile(res.cover);
  
          var listener = cc.EventListener.create({
          event: cc.EventListener.TOUCH_ONE_BY_ONE,
          swallowTouches: true,
          onTouchBegan: function (touch, event) {
              var target = event.getCurrentTarget();
              var location = target.convertToNodeSpace(touch.getLocation());
              var targetSize = target.getContentSize();
              var targetRectangle = cc.rect(0, 0, targetSize.width, targetSize.height);
                  if (cc.rectContainsPoint(targetRectangle, location)) {
                      console.log("I picked a tile!!");
                  }
                  //console.log('touche po oe: ' + targetSize);    
                  return true;
              }
          });
  
          cc.eventManager.addListener(listener.clone(), this);
      }
  });
  </code></pre>
  
  <p>So, the problem is that only the first sprite created still with the eventListener, i think the <strong>listener.clone()</strong> is not working, any ideas of what i'm doing wrong? </p>