W jQuery robienie tego typu rzeczy jest po prostu bez sensu. Ta biblioteka znana jest ze swej niskiej wydajności w wypadku animacji, co spowodowane jest po prostu przestarzałą konstrukcją jej bebechów (np. wszystkie animacje są oparte głównie na setTimeout).
Zostawiłbym to w takim stanie, w jakim jest obecnie - a więc w oparciu o duet canvas + requestAnimationFrame. Lepszej wydajności w jQuery na pewno mieć nie będziesz. Jedyne, co ta biblioteka może ułatwić, to samo stworzenie odpowiednich elementów… i tyle.