code: function fetch(url, options, callback) {
          if (typeof options === 'function') {
            callback = options;
            options = {};
          }
          options = options || {};
          options.callback = options.callback || 'callback';
          var target = document.head || document.getElementsByTagName('head')[0];
          var script = document.createElement('script');
          var jsonpCallback = 'jsonp_' + Embedo.utils.uuid();
          url += (~url.indexOf('?') ? '&' : '?') + options.callback + '=' + encodeURIComponent(jsonpCallback);
          url = url.replace('?&', '?');
  
          window[jsonpCallback] = function (data) {
            clear(jsonpCallback, script);
            callback(null, data);
          };
  
          script.type = 'text/javascript';
          script.defer = true;
          script.charset = 'UTF-8';
          script.onerror = function (err) {
            clear(jsonpCallback, script);
            return callback(err);
          };
          target.appendChild(script);
          script.src = url;
  
          function clear(jsonpCallback, script) {
            try {
              delete window[jsonpCallback];
            } catch (e) {
              window[jsonpCallback] = undefined;
            }
            if (script) {
              target.removeChild(script);
              script = undefined;
            }
          }
        }
docs: @function fetch
  JSONP XHR fetch
  
  @param {string} url
  @param {object} options
  @param {function} callback