Refactor: code hygiene: move towards static well-behavedness of globals
This prevents accidental variable shadowing in the future, helps static
analyzers without cross-file (inter-unit) capabilities, and, for
instance, shall speed up static linking a tiny bit. Normally,
every global is declared static unless there's a good reason not to...
Also drop some superfluous declarations, redundant with the content of
included headers.
External symbols' stats for a particular configuration of the build[*]:
- before: 3170
- after: 2989
- find -executable -type f -cnewer configure \ -exec nm -g --defined-only {} \; 2>/dev/null | wc -l