semantic: Generalise size getting.

This makes structs with aliases var members work.
semantic: Retrieve type from typeid expressions.
vrt: Add stub typeinfo module.
vrt: Add type field to TypeInfo.
vrt: Add mangledName method to TypeInfo.
semantic: replace typeid expressions with calls to new TypeInfo(...)
semantic: Mangle the name in typeinfos correctly.
semantic: Get parent names for typeid mangles from scope names.