JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="http://d3js.org/queue.v1.min.js"></script>
Below : svg-xml with embeded image via data uri (If it works !).  <a href="http://fiddle.jshell.net/hugolpz/xGUsu/??/show/light/">html page</a><br />
<svg></svg>

CSS

body {
    background: grey;
}
#myImage {
    padding: 1em;
    background: #80A0b4;
}

JavaScript

var converterEngine = function (input) { // fn BLOB => Binary => Base64 ?
    var uInt8Array = new Uint8Array(input),
          i = uInt8Array.length;
    var biStr = []; //new Array(i);
    while (i--) { biStr[i] = String.fromCharCode(uInt8Array[i]);  }
    var base64 = window.btoa(biStr.join(''));
    return base64;
};

var getImageBase64 = function (url, callback) {
    // to comment better
    var xhr = new XMLHttpRequest(url), img64;
    xhr.open('GET', url, true); // url is the url of a PNG/JPG image.
    xhr.responseType = 'arraybuffer';
    xhr.callback = callback;
    xhr.onload  = function(){
        img64 = converterEngine(this.response); // convert BLOB to base64
        this.callback(null,img64) // callback : err, data
    };
    xhr.onerror = function(){ callback('B64 ERROR', null); };
    xhr.send();
};
// for fun:
d3.uri = function(url, callback) {
    return getImageBase64(url, callback);
  };



//SVG part
var svg = d3.select("svg")
    .attr({ width:250, height: 100})
    .attr("style","background:#80A0b4");

//D3js way:
d3.uri('http://fiddle.jshell.net/img/logo.png', function (err,data) {
    var img1 = svg.append("g")
        .append("image").attr("id", "first")
        .attr("width", 250).attr("height", 100)
        .attr("xlink:href", "data:image/png;base64," + data); // replace link by data URI
})

//D3js+Queuejs way:
var draw = function(err,uri){ 
       var img2 = svg.append("g")
        .append("image").attr("id", "first")
        .attr("width", 90).attr("height", 30)
        .attr("xlink:href", "data:image/png;base64," + uri); // replace link by data URI    
}
queue()
    .defer(d3.uri, "http://fiddle.jshell.net/img/logo.png")
    .await(draw);