Simplify Doxygen guidelines
I find the doxygen guidelines very confusing, impossible to remember, and impossible to get right on the first try. I find it extremely frustrating to have to read it every time I need to make any changes to the documentation and then go through multiple tries of fixing warnings. Do we really need the 3 level of visibility or can we get rid of libapi and only have full and public? Are there other simplifications we could do?