Fix linker interaction between Template Haskell and HPC (#9762)

Summary:
I'm not really happy about perpetuating the hackish fix for #8696,
but at least in the context of building with -fhpc, the performance
cost should be negligible.

I'm suspicious about PlainModuleInitLabel and the Windows stuff too,
but I don't know what it does / can't test it (respectively) so I'll
leave those alone for now.

Hopefully out-of-process TH will save us from these hacks some day.

The test is an adaptation of T8696. It's a bit more awkward since
I couldn't think of a way to get cross-module tickbox references
without optimizations (inlining), but ghci doesn't permit -O for
some reason.

Test Plan: harbormaster; validate

Reviewers: austin

Reviewed By: austin

Subscribers: carter, thomie

Differential Revision: https://phabricator.haskell.org/D583

GHC Trac Issues: #9762

Conflicts:
	testsuite/tests/ghci/scripts/all.T