Document most everything.

Some things are left undocumented, where they are uninteresting or REALLY
self-apparent. Adds `#[deny(missing_doc)]` to `render` and `device`, but also
some well-placed `#[allow(missing_doc)]`.

Closes #114
Let's not use the "location" term here in order to avoid confusion with locations defined in device code. Instead, we can say "variable index"