allocate parameters more dynamically
For both names and temporary parameters, we should IMO use the following system akin to the one used for varaction2 registers.
- For each parameter, create a TempParam()
- Maintain a reference count to each such param
- Refence these parameters as TempParamRef() or whatever, that contains a reference to the temp param.
- When finalizing the actions, allocate param numbers upon encountering each TempParam, and decrease the reference count for each passed reference. When it reaches zero, free the param number
We might need to check how this interacts with looping, though.