CardHacks: Moved main hacks into a function

This thing needs more work, though. It's very... hacky.
Tools/ProductViewer

Now loads image products successfully.
Needs ajax for text/html. Needs fixes for image displaying, as by
default they've bloody small.