Avoid gcc nested-externs warnings
Fix function pointer prototype in struct definition
Avoid gcc void pointer arithmetic warnings
Fix many gtk-doc warnings
Add deprecation guards for gtk-doc build