Fix memory leak when switching providers within a playlist [Delivers #79305128 #79031288]

[Fixes #79305128 #79031288]
I think this is buggy,

what happends if i extends a provider, for example

function Provider1() {}
function Provider2() {}
Provider2.prototype = new Provider1();

and if _currentProvider is Provider1, and i call setVideoProvider Provider2, the code thinks that im not changing the provider, but im changin..

i think the best is to use

if (_currentProvider.constructor.name != Provider.constructor.name)) {