title: setBackgroundImage not working as expected with multiple functions
body: <p>I'm trying to follow <a href="http://fabricjs.com/fabric-intro-part-1" rel="nofollow noreferrer">the Fabric.js tutorial</a> to <code>setBackgroundImage</code> to one of a few images I have associated with the buttons and am getting some weirdness. Basically, the buttons 1 and 3 are both slow/unresponsive/take two clicks to take effect, and button two doesn't want to load locally or via Imgur. Anyways, I'm using Fabric.js v. 1.7.22 and jQuery 3.3.1.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="true" data-console="true" data-babel="false">
  <div class="snippet-code snippet-currently-hidden">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>var canvas = new fabric.Canvas('canvas');
  
  canvas.setHeight(400);
  canvas.setWidth(400);
  
  $("#one").click(function(event) {
    canvas.setBackgroundImage('http://fabricjs.com/assets/honey_im_subtle.png');
    canvas.renderAll();
  });
  
  $("#two").click(function(event) {
    canvas.setBackgroundImage('https://i.imgur.com/4Ut8gsw.png');
    canvas.renderAll();
  });
  
  $("#three").click(function(event) {
    canvas.setBackgroundImage('https://i.imgur.com/2S08Y3b.jpg');
    canvas.renderAll();
  });</code></pre>
  <pre class="snippet-code-css lang-css prettyprint-override"><code>canvas {
    border: 1px solid #dddd;
  }
  
  button {
    margin-top: 20px;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://code.jquery.com/jquery-3.3.1.js"&gt;&lt;/script&gt;
  &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.7.22/fabric.min.js"&gt;&lt;/script&gt;
  
  &lt;canvas id="canvas"&gt;&lt;/canvas&gt;
  &lt;button id="one"&gt;
  One
  &lt;/button&gt;
  
  &lt;button id="two"&gt;
  Two
  &lt;/button&gt;
  
  &lt;button id="three"&gt;
  Three
  &lt;/button&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>What is going on here? Thanks in advance.</p>