Better error reporting

Fixes #6 and is an alternative approach as taken in #133.

This catches an error in `.use(...)` and format it using
`Rework.prototype.formatError(...)` which could be overriden by supplying
`options.formatError(...)` function.