create complex, nested HTML tables without manually keeping track of colspan/rowspan