Try to preload the images

My hypothesis is that the first call to ImageIO loads all the classes
and causes a cascade of things to be loaded/pointed to. If we can
preload those early we might not see as many pointers during the actual
pipeline stage.

See #6.