Markers added by procedural generation have custom notes depending on
the type of marker (e.g. dungeons have a procedurally generated map);
however, the notes for markers manually added by the user are empty.
This patch separates the cell selection logic from the legend and name
generation logic in markers-generator.js, so that the latter can be
shared with manually added markers. There is some additional
simplifications such as storing the dx/dy/px/min/each values directly in
the markers table to simplify the writing of the generic "list and add"
loop in `generateTypes()`.
Currently, the legend is only generated when adding a marker of the same
type as an existing marker, and only when a legend generation function
is available for that type. To generate a marker of a type that is not
currently present on the map, one must first change the type field of an
existing marker (which will not get a procedural note), then use "Add
additional marker of that type". The UI for this can be improved later.
Co-authored-by: Basile Clement <basile-github@clement.pm>