Simplify superinstance constraints for ErrorT

@garyb @joneshf Mind having a look at this one? I'd be helpful for the latest book chapter. 

This new `Apply` instance enables parallel asynchronous computations with `ErrorT` on top of a `Parallel` newtype for `ContT` which is quite nice.