Q: DOM Exception JSON.stringify - Error in Console Updates:
----Latest Update----
I am able to convert the event to a string with dojox and their serializer that allows circular objects to be stringified. I originally tried to include dojox via a CDN and this worked if I opened the VFP in it's own browser tab : <script src="//ajax.googleapis.com/ajax/libs/dojo/1.14.1/dojo/dojo.js"></script>. However, this I received a blocked a frame error in the console. I have uploaded dojo and dojox as static resources and I receive the following error:
dojo.js:8 Uncaught DOMException: Blocked a frame with origin "https://c.cs10.visual.force.com" from accessing a cross-origin frame.
    at _32 (/resource/1558721737000/dojo/dojox/json/ref.js:178:11)

Why am I being blocked from scripts coming from the same domain? How is this any different from utilizing a jQuery library static resource which I do frequently? I'm assuming it's because I'm using an event and the event is/has references to DOMElement(s)? But if that were the case, why does this work on the VFP if I us the CDN script, but not in the console?: 
What I am trying to achieve:
I am trying to capture DOM events and log them to understand what elements users are clicking, when, and if other events are being executed that being interfering with the user's experience. The reason I am not logging these events in the frame I capturing them is want to be able to capture these events in multiple frames in a modular way. I should be able to view these events in a text area in the console component. 
In Salesforce Classic Console:
In the <script> of a visualforce page I am capturing DOM event and writing them to variables to send to a function in a console component (ReceivingConsoleComponent). 
Page to Track Events:
var DOMEvents = {
    UIEvent: "abort DOMActivate error load resize scroll select unload",
    ProgressEvent: "abort error load loadend loadstart progress progress timeout",
    Event: "abort afterprint beforeprint cached canplay canplaythrough change chargingchange chargingtimechange checking close dischargingtimechange DOMContentLoaded downloading durationchange emptied ended ended error error error error fullscreenchange fullscreenerror input invalid languagechange levelchange loadeddata loadedmetadata noupdate obsolete offline online open open orientationchange pause pointerlockchange pointerlockerror play playing ratechange readystatechange reset seeked seeking stalled submit success suspend timeupdate updateready visibilitychange volumechange waiting",
    AnimationEvent: "animationend animationiteration animationstart",
    AudioProcessingEvent: "audioprocess",
    BeforeUnloadEvent: "beforeunload",
    TimeEvent: "beginEvent endEvent repeatEvent",
    OtherEvent: "blocked complete upgradeneeded versionchange",
    FocusEvent: "blur DOMFocusIn  Unimplemented DOMFocusOut  Unimplemented focus focusin focusout",
    MouseEvent: "click contextmenu dblclick mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup show",
    SensorEvent: "compassneedscalibration Unimplemented userproximity",
    OfflineAudioCompletionEvent: "complete",
    CompositionEvent: "compositionend compositionstart compositionupdate",
    ClipboardEvent: "copy cut paste",
    DeviceLightEvent: "devicelight",
    DeviceMotionEvent: "devicemotion",
    DeviceOrientationEvent: "deviceorientation",
    DeviceProximityEvent: "deviceproximity",
    MutationNameEvent: "DOMAttributeNameChanged DOMElementNameChanged",
    MutationEvent: "DOMAttrModified DOMCharacterDataModified DOMNodeInserted DOMNodeInsertedIntoDocument DOMNodeRemoved DOMNodeRemovedFromDocument DOMSubtreeModified",
    DragEvent: "drag dragend dragenter dragleave dragover dragstart drop",
    GamepadEvent: "gamepadconnected gamepaddisconnected",
    HashChangeEvent: "hashchange",
    KeyboardEvent: "keydown keypress keyup",
    MessageEvent: "message message message message",
    PageTransitionEvent: "pagehide pageshow",
    PopStateEvent: "popstate",
    StorageEvent: "storage",
    SVGEvent: "SVGAbort SVGError SVGLoad SVGResize SVGScroll SVGUnload",
    SVGZoomEvent: "SVGZoom",
    TouchEvent: "touchcancel touchend touchenter touchleave touchmove touchstart",
    TransitionEvent: "transitionend",
    WheelEvent: "wheel"
    }

    var RecentlyLoggedDOMEventTypes = {};

    var ReceivingConsoleComponent = parent.frames['scc_widget_ReceivingConsoleComponent'];
    console.log(ReceivingConsoleComponent);

    for(DOMEvent in DOMEvents){

      var DOMEventTypes = DOMEvents[DOMEvent].split(' ');

      DOMEventTypes.filter(function(DOMEventType){
        var DOMEventCategory = DOMEvent + ' '+DOMEventType;  
        document.addEventListener(DOMEventType, function(e){
          if(RecentlyLoggedDOMEventTypes[DOMEventCategory]) return;
          RecentlyLoggedDOMEventTypes[DOMEventCategory] = true;
          setTimeout(function(){ RecentlyLoggedDOMEventTypes[DOMEventCategory] = false }, 5000);
          var isActive = e.target==document.activeElement;
          if(isActive) {
            //var newEvent = String.valueOf(DOMEventCategory + ", " + e.target + ", " + e.path);
            var target = JSON.stringify(e.target);
            var path = JSON.stringify(e.path);
            ReceivingConsoleComponent.ReceivingFunction(DOMEventCategory, target, path);
          } else {
            /*  
            console.log(DOMEventCategory, 
              ' target=', e.target,
              ' active=', document.activeElement, 
              ' isActive=', false );
              */
          }

        }, true);
      });

    }

Receiving Console Component Visualforce Page:
function ReceivingFunction(type, id, origin) {
console.log('Invoked');

stringType = type.toString();
console.log(stringType);

stringId = id.toString(); 
console.log(stringId);

stringOrigin = origin.toString(); 
console.log(stringOrigin);

var toPush = {type:stringType, id:stringId, origin:stringOrigin};

ListOfEvents.push(toPush);
console.log(ListOfEvents.length);

var ListOfEventsJSON = JSON.stringify(ListOfEvents);
console.log(ListOfEventsJSON);

$("#textArea").val(JSON.stringify(ListOfEvents));

Service Console Exception: 

myVFP?isdtp=vw&sfdcIFrameOrigin=https%3A%2F%2Fcs10.salesforce.com&isWsVw=true&nonce=XXX:XX
  Uncaught DOMException: Blocked a frame with origin
  "https://c.cs10.visual.force.com" from accessing a cross-origin frame.
      at JSON.stringify ()
      at HTMLDocument. (https://c.cs10.visual.force.com/apex/myVFP?isdtp=vw&sfdcIFrameOrigin=https%3A%2F%2Fcs10.salesforce.com&isWsVw=true&nonce=XXX:XX:YY)

Opening VFP in Browser Tab Outside of Console Exception: 

Uncaught TypeError: Converting circular structure to JSON
      --> starting at object with constructor 'Window'
      --- property 'parent' closes the circle
      at JSON.stringify ()
      at HTMLDocument.

