a little more toward "pixel perfect": you
could do some prep work for the sprites and keep the memblocks on-hand for quick "look up" vs determining image and creating the memblocks "live". short on time, now, but
THIS might help explain the theory.
finally, and speaking of overkill, many wouldn't consider using Box2D for something like this because you're really not needing "physics" per se but with the additional sprite shapes that the system allows and the multi-thread usage that Box2D affords, you
should see a performance
boost with while increasing "sprite shape" accuracy overall.