The array being in global space was having an effect on performance when
the object files were linked in a certain order. Moving the array into
the execution scope, and onto the stack, solves this issue.
In addition to this fix, I have made a number of smaller optimisations
and improvements, to both the performance of the interpreter, as well as
its error handling.