Make Scriptable the super-interface for Callable and Constructor
Rename Scriptable to ScriptObject
Replace [[BuiltinBrand]] checks for arrays with instanceof ExoticArray
Update code now that Callable extends ScriptObject
Remove [[BuiltinBrand]] except for BuiltinFunction
Rename NativeError to NativeErrorConstructor
Add new interface for built-in function objects
Change strict function check to use the same pattern used everywhere else
Change Object.prototype.toString to follow spec algorithm more closely
Change BuiltinFunction to an abstract class, move [[BuiltinBrand]] code into the new class
Remove [[BuiltinBrand]] check in FunctionPrototype
Remove BuiltinBrand enum
Add own 'name' property for built-in (constructor) functions
Move common toSource() code into superclass
Move [[Get]] and [[GetOwnProperty]] overrides from NativeFunction to BuiltinFunction