implement a closure macro for clean opcode defs
Merge branch 'feature/opcodes' into feature/renaming
fix the opcode-wrapper macro so that it works
I'll just implement it in the decode stage
implement what should be full register renaming, but testing is still to come