Creo que hay una forma de hacerlo sin imágenes de fondo ni JS, pero es complicadísima, a base de unos 48 div anidados. No recuerdo el enlace para dártelo, pero buscando lo encontrarás, aunque eso sí, en inglés.
Por lo del tiempo de carga, no sé si te has dado cuenta de que la imagen que he usado es una sola y tiene 1k de peso. Si eres capaz de cronometrar la diferencia de carga entre el html con mi imagen o con la otra solución, es que trabajas en la NASA
Mikel.