We might not get line or column number, but the file is still useful information.
It's not just a matter of the browser lacking support.
The browsers uses crude layout formatting that expects this.
This commit moves the global error handler into a separate file, so that it can catch module loading errors. This also adds support for properly displaying error messages with newlines in them (since the module loader may throw those)