Instances & tests for Codensity

Based upon [`Control.Monad.Codensity`](https://github.com/ekmett/kan-extensions/blob/cfc1db88244cccbbe4687f3f0a05f579f57464a8/src/Control/Monad/Codensity.hs) from @ekmett.