А я на Делфи когда-то такое делал, так там даже с оптимизацией было - юзался джаваскрипт для вывода, если подряд шло много "пикселов" одинакового цвета. В принципе, там можно еще оптимизировать, используя стили, поскольку, скажем, <b class=b1>0</b> короче записи <font color=#ffffff>0</font>, что в масштабах страны дает реальную экономию размера файла
А для того, чтобы сохранялись пропорции, нужно юзать моноширинный шрифт и св-во letter-spacing, чтобы знакоместо было более-менее квадратным. А еще лучше квадратики из псевдографики...