Initial commit. About half of the opcodes are implemented and seem to be functioning correctly. With tests.