If you were to release this set as SVG, color would get a lot easier. It'd also open up the possibility of adding animation. For example: http://codepen.io/noahblon/details/lxukH
Not to take away from the other points in your post, but on the benchmarks, the backbone example is writing to localStorage, while the om example isn't.
The overhead from localStorage appears to account for a significant chunk of the difference in performance. You can remove the localStorage calls with 'Backbone.sync = $.noop' or similar. After doing that and clearing localStorage, benchmark one drops to around 350ms, and benchmark 2 drops to around 2000ms.
Of course, benchmark 2 is where your library really shines, and backbone still takes its time with that one.