If a module sets MODULE_STATIC_LIB to true, that module will generate
a .a file instead of a partially linked .o file.
When WITH_LINKER_GC is enables, unreferenced code and data in c files
are dropped from the final elf file. This does not work for most
assembly files, since they put code and data directly into the .text
and .data section. If a .a file is used instead however, files that
have no external references are dropped regardless of which sections
they have.
If MODULE_STATIC_LIB is true, this change also disabled LK_INIT_HOOK*
as files using this as the only entrypoint would also be dropped.
Change-Id: I846ac1bf63018d1d713ca841e03191b1fac35bf4