text: function CanvasRender(canvasElement, options) {
    this.options = options
    this.context = canvasElement.getContext('2d')
  
    var devicePixelRatio = window.devicePixelRatio || 1
  
    var backingStoreRatio = this.context.webkitBackingStorePixelRatio ||
    this.context.mozBackingStorePixelRatio ||
    this.context.msBackingStorePixelRatio ||
    this.context.oBackingStorePixelRatio ||
    this.context.backingStorePixelRatio || 1
  
    this.frontBackRatio = devicePixelRatio / backingStoreRatio
  
    if (options.autoScaleForRetina && devicePixelRatio !== backingStoreRatio) {
      var oldWidth = canvasElement.width
      var oldHeight = canvasElement.height
  
      canvasElement.width = oldWidth * this.frontBackRatio
      canvasElement.height = oldHeight * this.frontBackRatio
  
      canvasElement.style.width = oldWidth + 'px'
      canvasElement.style.height = oldHeight + 'px'
  
      this.context.scale(this.frontBackRatio, this.frontBackRatio)
    }
  }
  
  CanvasRender.prototype.draw = function(image) {
    this.context.drawImage(image, 0, 0)
  }
  
  CanvasRender.prototype.clear = function() {
    this.context.clearRect(0, 0, this.context.canvas.width,
      this.context.canvas.height)
  }
  
  // Check for Non CommonJS world
  if (typeof module !== 'undefined') {
    module.exports = {
      CanvasRender: CanvasRender
    }
  }
  