Issue 49 - Automate documentation generation

Fixes #49.