Moved event handling from update() to event()
Made textfields handle themselves (huge and messy commit, I know)
Use stringified unicode in the protocol