[Refactoring] fix indent in IsExp::semantic()
fix Issue 13350 - is(typeof(fun)) causes link error when template fun calls undefined reference

Evaluate the type in IsExp, then unspeculative declared symbols.
Merge pull request #3894 from 9rnsr/fix13350

Issue 13350 - is(typeof(fun)) causes link error when template fun calls undefined reference
[Refactoring] TemplateInstance::semantic()

- Remove a goto jump
- Reduce code indent level
- Use ModToStc in TemplateThisParameter resolution
[Refactoring] Add Module::rootImports() and use it in TemplateInstance::needsCodegen()

it would make compilation a little faster so `rootImports` cache the result.
[Refactoring] Remove the hack code introduced in #1760

AST identity issue has been properly fixed in #3383 (fceb16bbf7).