Expanded the design document.

It is still far from complete, but is sufficient to indicate to myself that I understand what needs doing and the roadmap is useful.  As a consequence, actual coding may begin.