Overhaul of internal types
Use a GADT for TopLevel
Initial mixin support (fixes yesodweb/yesod#157)