Ignore case when sorting file decls

We were already doing that when sorting the global list of decls.
Canonicalize -I flags

Without this, decl.Position().Filename will sometimes contain
relative paths. This is an issue because these don't match any
targetMap entry.
Upgrade dependencies
Upgrade modernc.org/cc/v4

Fixes issues on Alpine: https://gitlab.com/cznic/cc/-/issues/149
Migrate to modernc.org/cc/v4
Remove unused leadingCommentPrototype
Add -fsite-name option
Embed templates
Include all comments in block prototypes

Closes: https://todo.sr.ht/~emersion/gyosu/2
Retain whitespace lines at start in stripIndent

This will be useful when we rely on this to get newlines in
readme: link to example with wlroots API
readme: add section about doc comment formatting
Panic on unhandled DeclarationSpecifiers

Will allow us to notice when we see it in the wild, instead of
ignoring it.
Iterate over all DeclarationSpecifiers when handling enum/struct/union
Don't skip function/variable declarations which aren't TypeSpecifier

We previously skipped declarations like:

    const struct foo *bar(void);

The `const` made it a TypeQualifier.
Handle StorageClassSpecifier in declarationSpecifiersPrototype
Ignore non-doc comments

We were previously interpreting all /* */ comments as doc comments.
This causes issues with e.g.

    /* See <libdisplay-info/cta.h> */
    struct di_edid_cta;

Only treat /** */ comments as doc comments.
Upgrade dependencies