recursively remove variables with no uses in eliminator
only recurse on decreasing uses on locals, and clear out names to avoid confusion later