Complete rewrite of the client. Written using paper.js and jquery.