Hey Murrayson,
I know this post is pretty old so I don't necessarily expect a response, but I've implemented program almost identical to what you described above except I've been using Puppeteer instead of Phantom.js since its been deprecated and I've been using Puppeteers built-in screenshot feature instead of drawCanvas() as you proposed.
Everything has gone great on the GSAP side except that Puppeteer keeps crashing unexpectedly with no errors, so I'm questioning whether it would be suitable long-term solution. Just curious what path you ended up taking.
Thanks!