Massive purge of bloat and placeholders.

There were numerous cases of 'interface{}' being used to propagate a
static struct to the binders. This was originally done to enable easy
support for different types of document.

I've decided to focus on text editing for now, so these instances have
been replaced with struct types.

I've also refactored a lot of the codebase and removed support for extra
document fields such as title and description, since these had nothing
to do with leaps anyway.