Реализация include scripts (подгрузки скриптов) на JavaScript

Как сделать следующую конструкцию:

js.include('http://htmlweb.ru/add_script.js');

Какие препятствия поджидают нас? Во-первых, инклюд должен полностью отрабатывать до начала выполнения кода.
Во-вторых, не исключены зависимости нескольких файлов от одного модуля и загружать его дважды совсем не хочется.
В-третьих, требуется какой-нибудь механизм загрузки файлов с сервера. Итак.

Будем использовать XHTTPRequest. Этот объект работает в двух режимах: асинхронном (когда указывается функция обратного вызова) и синхронном (запрос происходит непосредственно во время вызова xhttp.open()). Нам нужен второй: при этом код загрузится прямо на месте js.include. А дальше достаточно выполнить eval(xhttp.responseText):

// объявляем
js = {};
js.loadedModules = {};

js.include = function(path) {
    if(js.loadedModules[path]) return;

    var transport = js.getXHTTPTransport();
    transport.open('GET', path , false);
    transport.send(null);

    var code = transport.responseText;
    eval(code);
}
// используем
js.include('http://htmlweb.ru/add_script.js');

.