Instead of sending out trait updates whenever the WWT clock changes,
update the client with the WWT clock, its rate, and a system reference
time more rarely. The client extrapolates the WWT clock time based on
those parameters. This allows us to get good-enough time readouts
without needing constant updates.
Because the Python code needs to receive new information from the
JavaScript frontend package, we'll need to make a new release of the JS
package and update the Python to require the new release. It's not a
breaking change in the JS since we still broadcast the engine time under
the same attribute name, even though you could think of it as breaking
since the rate of clock updates is now 600 times lower.
Closes#258.