add docs

This adds documentation using docco. It's ok, but nothing to write home about. There are some really irritating things about it that make me kind of want to look for an alternative.