AoC 2020 - Day 8: Handheld Halting

It seems quite a tradition now, the VM-based puzzles, and this year is no exception.
For this reason, I took some time to clean-up the code after finishing, refactoring in a way that might make the VM hopefully more open to changes.

Maybe I should start implementing some enhancements before the next puzzle, in order to be ready with it. For instance, memory management, more registers, and indirect store/load.

Except for that, the puzzle was fairly straightforward. The simplification for finding the infinite loop (just go again on the same instruction, no matter the state) was really nice, because otherwise it would have been a much more complex problem to solve.