Based off this MDN example.

The slight problem here is calling the worker to render via message, it creates a performance bottleneck and timing issues. Hopefully
requestAnimationFrame
will be available in Worker contexts soon!