Enabled and fixed several warnings, remove toWidget and minor changes

I think it is a good idea to build everything with `Wall`. It helps to catch mistakes early and keep the code base clean. Besides removing unused imports, adding type signatures and stuff, this pull request

- removes the use of `toWidget` by using `whamlet` directly 
- uses the `Widget` type synonym that is generated by `mkYesod` instead of the self defined `HWebUIWidget`
- defines the language extensions used in the library code in the cabal file, but I think we should invest were we actually use them and if that are only a few places, write them back into the source file.