Thanks for the nice comments guys!
I worked some more on this in the last couple days. I finally got rid of the total garbage mouse world pos stuff I had before and plugged in my code from my perspective-camera, screen-to-world transform project. So now that's done properly and it never gets messed up from too much zooming and panning. And I cleaned up some other little things so stuff works better under the hood.
The other thing I did was grab pngLua to decode PNGs directly. It's pretty slow and synchronous, so it just freezes the program for a while, but, it means you can load in any PNG with the bundled program, you don't have to run it from the Defold editor.
Does anyone know if it's possible with Defold to run some Lua code in a separate thread? I wouldn't mind the slow decoding if I could do it asynchronously and have a progress bar. Otherwise I guess I'm waiting for Native Extension support to be able to improve this feature.