Create emulator

emulator.js: Has two public functions, run(), which runs the TM until
termination, and step(), which run the TM for one step. The
getTransitions() function collects all transitions from the specified
node, and returns a JS object with key as the “fromChar” and value as a
JS object with “fromChar”, “direction” and “target” (node).
tape.js: Emulates the tape of a TM. The tape is represented using a
string. Since strings are immutable in JS, a _replace() function was
written.