[NVPTX] Refactor prototype emission out of ISel (#203663)
Previously we horribly abused the TargetExternalSymbol operand to store
an assembly string. This required hacks and pushed assembly emission
into the SDAG ISel phase. Moving this will allow us to unify prototype
and function declaration/definition printing.