emulator code cleanup and performance tweaking
the worker thread's main loop now runs almost completely without use of
volatile variables which makes up for the performance loss caused by
copying CPU state information inside executeOneInstruction()