Add support for ad integrations that use a separate video tech for ad playback

On many devices, it's possible to use multiple video playback technologies in parallel. This capability is handy because it means the content video doesn't have to be reloaded and rebuffered after an ad break. This patch assumes that if ad mode was triggered and ended without the video's src property being altered, ad playback happened out-of-band and so it's not necessary to restore the player state. This should also mean that server-side and burned in ad integrations don't unnecessarily rebuffer.

Also added a debug option to trace state changes.