docs: function CanvasRenderer(width, height, view, transparent)
  {
      this.transparent = transparent;
  
      /**
       * The width of the canvas view
       *
       * @property width
       * @type Number
       * @default 800
       */
      this.width = width || 800;
  
      /**
       * The height of the canvas view
       *
       * @property height
       * @type Number
       * @default 600
       */
      this.height = height || 600;
  
      /**
       * The canvas element that the everything is drawn to
       *
       * @property view
       * @type Canvas
       */
      this.view = view || platform.createCanvas();
  
      /**
       * The canvas context that the everything is drawn to
       * @property context
       * @type Canvas 2d Context
       */
      this.context = this.view.getContext( '2d' );
  
      //some filter variables
      this.smoothProperty = null;
  
      if('imageSmoothingEnabled' in this.context)
          this.smoothProperty = 'imageSmoothingEnabled';
      else if('webkitImageSmoothingEnabled' in this.context)
          this.smoothProperty = 'webkitImageSmoothingEnabled';
      else if('mozImageSmoothingEnabled' in this.context)
          this.smoothProperty = 'mozImageSmoothingEnabled';
      else if('oImageSmoothingEnabled' in this.context)
          this.smoothProperty = 'oImageSmoothingEnabled';
  
      this.scaleMode = null;
  
      this.refresh = true;
      // hack to enable some hardware acceleration!
      //this.view.style["transform"] = "translatez(0)";
  
      this.view.width = this.width;
      this.view.height = this.height;
      this.count = 0;
  }