Macro implementation of the thisctx crate.
The implementation of this crate is heavily inspired by thiserror and snafu.