Poking holes into bytecode with peephole optimisations

First optimizations I made while redesigning and semi-porting the purple-garden runtime from C to Rust