I think this will work well enough for our purposes.

    vjs.obj.isPlain = function(obj){
      return obj && typeof obj === 'object'
        && vjs.obj.toString.call(obj) === '[object Object]'
        && obj.constructor === Object;
    }

Fixes the stack overflow error for me.