Structure porting guides
The porting guides contain all (or almost all) information developers need to port extensions, however the documents aren't structured consistently.
We should refactor the existing porting guides with a consistent structure, so they can be easily browsed and parsed. Then use this a template for future guides.
For example:
## Metadata
(e.g. GNOME 45 requires `shell-versions: ["45"]`, support `session-modes` - link to below)
## Extension
(e.g. subclassing `Extension`, or "No changes" in some cases?)
## Preferences
(e.g. API changes, GTK4/Adwaita)
## Resources
### GSettings
(e.g. schemas required in ZIP, automatically compiled, etc)
## GJS
(e.g. `Mainloop`/`ByteArray` replacement)
## GNOME Shell
### Session Modes
(e.g. new feature, how to use, link to topic page)
### SomeModule
(e.g. API changes, new functions, etc)