Support custom themes from npm packages.

This achieves the same result as #117, namely it lets me get YAML output from codo, which is used to generate the developer documentation at https://www.dropbox.com/developers/datastore/docs/js

The approach here is different from #117. This PR brings the following changes:
* codo can load themes from npm packages
* codo supports theme template languages (hamlc is still the default)
* themes are responsible for template compilation

The repository below has a working theme that uses a different template language (Eco) to output YAML. I plan to push it to npm once the changes in this PR stabilize.
https://github.com/pwnall/codo-theme-yaml

At the moment, this change can be tested by using the trunk version of [dropbox.js](https://github.com/dropbox/dropbox-js) to generate YAML docs. I plan to add an integration test to the YAML theme.

```bash
git clone git://github.com/dropbox/dropbox-js
npm install
cake sitedoc
# The command above calls this.
mkdir -p sitedoc/yaml
node_modules/codo/bin/codo -t yaml -o sitedoc/yaml src/
```

I see this as a first draft, and look forward to improving it based on feedback. Thank you!