Add javascript tracker and give Blocmetrics the capability to receive and record events from the js tracker.

DRYup these methods