WIP: N-D work

This is one monster commit containing all N-D changes. I am amibvalent
about whether to split this into many commits or not.

I see two main options:
A) Leave it as one giant commit. This makes it very hard to tell what
changed, but it does keep the history compiling properly (e.g. for
bisecting).

B) Split it into several smaller functional commits (e.g. converting
Metadata, converting Planes, converting individual Formats). This makes
it much easier to see what's going on in each change, but unfortunately
would likely break compilation in individual commits, as there are so
many systemic modifications that resonate through basically every file
in the repository (such as metadata changes).