Управляемый DirectX так или иначе, мог бы работать
Думаю, плагина нет. Я буду реализовывать это, как предложил Сандер, создав предопределенную сетку div и просто загружая случайные изображения в эти div. Это проще и быстрее, чем вычисление размеров / позиций изображений, и выполняет почти ту же работу. Не случайно, но визуально выглядит хорошо :)
Сохраните выбранные координаты в массиве, чтобы вы могли сравнивать координаты каждого нового изображения, которое вы помещаете, с предыдущим.
Если выбранные вами координаты перекрывают предыдущее изображение, выберите новые координаты. Ограничьте количество попыток, чтобы, если вы не можете разместить изображение, скажем, с 1000 попыток, вы начинали заново с первого изображения.