Added the MonadTop family of interfaces in the module Control.Monad.Lift.Top.
This is basically the exact same as MonadTrans, except there are a few monads/monad transformers which can't be made an instance of MonadTrans but can be made an instance of MonadTop (e.g., ComposeT can't be made an instance of MFunctor, but it can be made an instance of MonadInnerFunctor, in terms of which MonadTopInner is defined).
Renamed all the operations in Control.Monad.Lift.Layer from *T to *L to accommodate this change. It feels like it makes more sense like this anyway.
Changed the universal pass-through instances of the MonadInner family to call MonadTop recursively rather than MonadTrans.