Add: Ignore unreferenced named parameters #151
When a named parameter is defined, it consumes an actionD register, even if it's never accessed later.
This PR solves that by reference counting all identifiers, and assign an actionD register only if it's needed.
The check is not recursive, a named parameter referenced only by an unreferenced one won't be ignored. Same for write only named parameters written multiple times. But I think these cases should not be common.