Thank you Mark!  We were actually originally using Raphael but recently switched to something custom.  We got a lot more performance for our use case.  I would love to open source that code at some point.