add ability to pass different context

I ran into situation where I had to apply `thunkify` to function executed from its context. The alternative here could be to just run: `thunkify(fn).bind(ctx)` but it would be convenient to just pass it as an argument ;)