Hi Sterling.
On the https://custom-skin.myshopify.com/products/iphone-6-skin I used a fairly simple image layering technique. Basically you have a "clean template" image, on top of that you set transparent images with the product textures.
Before starting this project here are few tips/questions.
1. Do you have a 3d model of your product? What you see there is not real product imagery but 3d renders.
2. If the product options are changing the price make sure that you try to keep the product variants in under 100. This is the Shopify limit. Everything above will complicate the APP logic.
3. You mention "a vast library". The per product limit is 250 images. Above that you will have to get creative. There are technical options like keeping the images on another server, doing image manipulation in canvas or even go full 3d with WebGL.
Glad that my little demo inspired someone :)
Good luck.