Adding @defgroup and @ingroup doxygen tags into all headers
in the common folder that contain doxygen blocks.
This improves the structure, readability, and findability
of information in the resulting output.
This commit targets purely structure and does not deal with
the content of the currently existing doxygen documentation.
This removes the large static tables from the binary (which saves 500K
to 1Mb of binary size) and replaced them with a class which generates
the required tables as needed in RAM. This has been tested with QDM2
and shows no obvious performance degredation and Memprof shows no
significant rise in RAM usage.