fix(errors): provide real Error objects

So that test frameworks like mocha can show the real error message
instead of `[Object object]`