Improvements

Added support for register aliases.

Assembly functions are actually generated now; this will cause problems
for recursive functions because they will be repeatedly added to the
worklist, so we need to keep a list of already-generated functions.

Fixed a problem where a function will add itself to the called-funcs
list even when it's not asked to execute or print.