NotImplementedError

Provides a new Error class useful for our abstract base kinds.  Allows throws like the following:
````javascript
// from the Gui base class
registerExtension: function() {
  throw new NotImplementedError("GUI kinds must implement registerExtension");
}
````
This would yield `"NotImplementedError: GUI kinds must implement registerExtension"` in the console along with a stack trace like any other error.  It is important to note that the stack trace given currently ends in the constructor for the Error, not the actual code point where the error was thrown.