Enable -fno-ident on GCC builds

This reduces binary size slightly and avoids useless cruft in the .rdata
section on Windows builds, since there is no equivalent to the .comment
section from ELF.

Also set C compiler warning flags consistent with the existing C++ flags.
Add git rev hash to version.h
Add Win32 resource file and icon