действительно не понимаю, "зачем так сложно". обьясни, пожалуйста.
я бы сделал загрузчик картинок таким :
load( ['/img/wood.jpg', '/img/trava.jpg'], function(){ alert('обе текстуры загрузились!') });
function load(imgs, clb){
var a = new Image(), // чтобы каждый раз не создавать объект.
i = 0;
while(i in imgs) a.src = imgs[ i++ ]; // загружаем в кеш картинки
clb && clb(); // ну это ты знаешь :)
};