Dev master merge

Hey folks. I did a big refactor here. I think things are working as they should again, but there may be bugs lurking.

One thing I've noticed is that the text playback seems a little choppy sometimes. I haven't changed anything about the way it works, so that's weird. It might just be my computer; if I hold down the backspace key in this textarea I'm writing in right now, the motion of the cursor is rather choppy too.

I'd like to merge this into master ASAP so could anyone comment on whether or not there is choppiness for you?

Also whether you find bugs.