Completely document the entire public interface.

This commit uses Doxygen formatted comments to document the entire
libcallbacks public interface (public/callbacks.h).

Supplementing this documentation is a Doxyfile configured for
libcallbacks, and a phony Makefile target for generating documentation,
docs.