Renane event "group-layout" to just "layout"
Rename setLayoutDimensions() to setTableLayoutDimensions()

I also introduced an intermediate method, called setLayoutDimensions().
This method just calls setTableLayoutDimensions() at this point. I will
then add triage code to apply the table layout processing only to
charts and table layouts, while processing charts as a list:

A table layout has the following structure:

[
  ["table-layout",...], // header row with column margins
  [row-header,...],  // row header cell for height followed with data cells
  ...
]

A chart has the same structure, with a single row and column
and the text "chart" instead of "table-layout" in top-left cell.

The structure of a list of charts is:
[
  ["charts", ...], // header with list of chart names
  [
    // list of charts
  ]
]

A chart has a single row besides the header, which contains
a list of "chart" structures.
Move getBoxType() to layout-utils.js
Use intended structure for "charts"

There used to be an extra row in the first layout using multiple charts,
to overcome the list of charts being treated like a table layout.

The two structures are now clearly distinct and treated in different ways.
Define CIRCLE_RADIUS constant for the circle in each tile
Leave empty space around the circle in each tile

I increased the width and height of the tiles from 4px to 6px,
while keeping the radius of the circles within unchanged at 2px.

As a result, the diameter of circles is now smaller than the side
of the tiles, leaving whitespace around each circle.
Add missing colon in list of variables declarations
Reduce radius of circles from 2px to 1.5px

The diameter of circles, 3px, is now half of the width/height of a tile.
Gather lines closer to the center

I changed the alignment of lines for intersection groups 1+2,
1+3, 2+3 to move them closer to the intersection group 1+2+3.
Use circles instead of lines for intersection groups as well
Center the intersection group between WG1 and WG2

When aligned to the right, the group WG1+2 gets too close to the other
intersection groups and its relationship with WG1 and WG2 appears weak.
Change background of charts from black to white

The goal is to use the same color as the parent element, white for now.
Change group WG1+2 to a darker shade of brown-yellow