remove reflect dependency

all opcodes now have the signature func([]byte) error, which removes the
need for reflection. The only downside to this is that it makes function
arguments less readable. I think the positives outweigh the negatives.