Improved correctness by fixing erroneous PC increment on first step when
waiting for input.  Still not perfect, but closer to it!
Also added a 'breakpoint' which can be set on the command line in debug
mode by providing a numeric value as the third argument.  The program
will run at normal speed until the program counter reaches the
'breakpoint', then it will start stepping one instruction at a time,
waiting for you to hit "enter" in between each step.  Quite useful for
debugging longer programs and late parts of programs with long,
oft-repeating loops.