Add initial documentation.

The doc is not compiled with sphinx yet and may contain syntax errors.  Also
some links to header files are missing.