Docs: Give headers ids for easy linking

This gives markdown headers an id so that we can link directly to
sections of our docs. This is better than the alternative of adding them
all ourselves.

I think this is better than what @SanderSpies added in #359 (sorry!) and is more maintainable. I tried switching to a different markdown parser (maraku) but it struggled with some of the things we do and I think this is *pretty close* to what maraku does. I'm actually going to take a look at what it does and maybe get inspired... with fewer additional dependencies.

Don't merge me yet.