http://stackoverflow.com/questions/13121948/dynamically-add-script-tag-with-src-that-may-include-document-write

JQUERY v3: https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js
CASH: https://cdn.jsdelivr.net/cash/1.3.0/cash.min.js

```js
components: [...,
  {
  content: `<script>
    var script = document.createElement('script');
    script.onload = function () {
      $('body').css({background: 'yellow'});
      finishedScript();
    };
    script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js';
    document.body.appendChild(script);
    </script>`,
  },
...]
```


components with script
```js
{
  //script: 'var el = this; setInterval(function(){el.style.marginLeft = Math.random() * 50 +"px";}, 1000)',
  script: 'loadScript = function(){console.log("loaded INSIDE", $);}',
  style: {
    background: 'red',
    width:'500px',
    height:'100px',
    margin: '50px auto',
  }
}
```

Correct JS inject
```js
var dc = editor.DomComponents.getComponents();
dc.add(`<script>
testScript = function(e){
  ...
}
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js" onload="testScript(event)"></script>`);
```
EVENTS
document.addEventListener('DOMContentLoaded', () => {})

```js
dc.add(`<script>
testScript = function(e){
  console.log('testScript executed ', $, document);
  $('.logo-container').css('background', 'red');
};
var script = document.createElement('script');
script.onload = testScript;
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js';
document.body.appendChild(script);
</script>`);
```
