added opcode layout optimizer

- initial implementation
- reassigns opcode byte values so that the most frequent opcodes are the
most frequent bytes in the entire bytestream