Add photons table to QD metadata; create on plugin creation

[#48675225]
Pass md2d to QD plugin, so we have access to engine props

We need model dimensions for photons, and plugin should have
access to md2d api anyway.

Also move plugin declaration after main model property initializations
(though still before creation of atoms).

[#48675225]
Initial implementation of photon table and emission

QD plugin creates an empty table of photons, much like the
atoms table, which gets extended and filled in as needed as
photons are created. If they are created, this will be 
serialized to the model json.

Photons can currently only be created on collision. QD uses
Classic MW's default values for planck constant and speed
of light.

Engine's call to the plugin now also passes in dt, as we need
this to move the photons.

[#48675225]
Initial rendering of photons.

We will probably want to recreate Classic MW's wave depiction
of photons, or at least something that changes based on
photon frequency.

[#48675225]