Feature/global extend

This branch serves to fix the issue where instanceof unexpectedly returns false if you are comparing an error to an instance of a class, where the class was imported/required from a module.

In other words, if I write an application that uses a module that throws a common-errors ArgumentNullError, and then I catch the error in my application and check if it is instanceof an errors.ArgumentNullError, instanceof will return false because it is not the same ArgumentNullError class that was referenced by my application.