Add support for parameterized modules, such that:
- Module parameters can be used as port dataTypes
- Module parameters can be passed to submodules
- Module parameters can be given default values and assigned in subtypes
- Parameterized ports don't cause module validation to fail simply because the parameters have different names
Add support for parameterized modules, such that: