Added an architecture doc.

Hopefully this might help people understand how stuff fits together a
bit...