Refactor hook call signature.

* Make the default call signature be `params, hash, options, env`.
* Remove `options.hash`.
* Ensure internal helpers are bound to the context.
* Remove `options.context`.