Use methods to construct table instead of spaghetti.

There's some new functions to construct the tables that will be
displayed. This also means we can more easily dynamically recreate
tables while running, and it'll be easy to reuse in the future. Also
updated Utilities.js with additional methods from other past projects,
and updated how the table is drawn using nth-child.