If you represented drawings as text (e.g. as postscript) you could use the rest of the code unchanged.
My "drawings" are represented by text (JSON), and if normal text merging methods will work, I might want to use differential synchronization (seems easier). But I wish there was something proving that it won't mess up the integrity of my structured data.
Links:
Wave protocol: http://www.waveprotocol.org/ and http://code.google.com/p/wave-protocol/source/checkout
Mobwrite: http://code.google.com/p/google-mobwrite/
Etherpad: http://code.google.com/p/etherpad/
http://blog.mozilla.com/rob-sayre/2008/02/15/restful-partial...
It works well except when array elements move around (that works, it's just unintuitive)