Use proper type declarations for custom variables

This makes it possible to edit `pretty-symbol-patterns` and
`pretty-symbol-categories` through `M-x customize`.
Better custom declaration for pretty-symbol-categories

The new version has checkboxes for the standard categories and then
allows addition of extra custom categories as well.
Add pretty symbol "∅" for nil in lisps