Replace all uses of `fmap` with <$>.
Remove redundant isHexDigit function.
Remove dangling `where` from one function.
Use `stripPrefix` where appropriate.
Clean up `mediaTypeOf` a bit.
Correctly implement capitalisation.

Using `map toUpper` to capitalise text is wrong, as e.g.
“Straße” should be converted to “STRASSE”, which is 1 character
longer. This commit adds a `capitalize` function and replaces
2 identical implementations in different modules (`toCaps` and
`capitalize`) with it.