Prevent double-firing of events

VinceG, I was experiencing an issue wherein the next/prev events were firing more than once and was occasionally, if a user clicks those buttons quickly (particularly when using custom buttons), you'd end up with either 2 tabs trying to show at once, or none at all.

This fix resolves that behavior by switching to the "shown" event instead of "show", and using 'one' binding, then rebinding after a tab is shown.