make $.imgpreload work with deferreds