Rework show/hide logic

Instead of using timeouts, leverage jQuery.delay to handle the delayed
hide and jQuery.clearQueue to cancel pending hides.

Big advantage is getting rid of flickering shows and hides.
Only process pricing response if there is data

TCGPlayer will return a response with no products if the card in
question is not found. Handle this by bailing.
Don't move an already shown popup

If the popup is visible, don't move it if the user mouseover the link.
Use jQuery.data better

No need to store so much in data. We should store values intelligently
and only what is needed.