Handle typedefs in $root scope.
Handle enumeration literals that are in $root.
Type name expressions down to elaboration.
Implement $bits(type) to get the size of a type

In the process, I implemented a means to get at
previously elaborated types from the pform type
pointer.
Fix problem with enum types in re-used modules

When a module is instantiated multiple times, the enum
types contained within would cause trouble. This fixes
that by elaborating in proper scope context.
Elaborate r-vlaue packed struct members pads as needed.