Merge tc_infer_hs_type and tc_hs_type into one function using ExpType philosophy
This patch implements refactoring which is a prerequisite to
updating kind checking of type patterns (#23639). This is a huge simplification
of the main worker that checks kind of HsType
.
It also fixes the issues caused by previous code duplication, e.g. that we didn't add module finalizers from splices in inference mode (#24299 (closed)).