Parameterize 'generateVHDL' for debugLevel in rewrites
Cleanup Core/Pretty.hs
Make error message of 'applyTypeToArgs' prettier
topEntities recognized as functions ending in 'topEntity'
Make traversals during rewrite 'safe' again

Unsafe traversals don't refresh bound variables.
But this resulted in FV capture in certain situations.
Go back to using safe traversals until there is a better story
for when to use unsafe versions.
Fix bug in inlineWrapper, which inlined non-wrapper functions

InlineWrapper now checks if the "wrapped" function has the same
type as the "wrapping" function.
Generate errors/warnings when running in debug mode

When a transformations is applied:
Generate errors when new free variables are created.
Generate warnings when types change.
make some functions more generic
Extra debug info for 'specialise'

Specialise now prints if a previously specialised function is used
Rename primInt from __Int#__ to __INT__
Don't start unique counter at 0