meson: Use summary instead of manually built string
It simplifies the code, and allows us to have some consistency between projects (either inside and outside GNOME, mind you).
I took the liberty to rename and reword some of the options so that they actually describe which ones are optional, and also which ones are hard dependencies detected at build time.