Downgrade -Wpure-inline / off by default
Only generate static decls once (e.g. inline)
Inline decls have their own storage allocated

This means inline functions now work with their local storage.
Warn on static-locals in pure inline functions
Check static locals aren't duplicated when inlined