amigo se que es bueno saber las bases de todas las cosas, se que es muy divertido hacer las cosas nativamente, pero si hay algo que tambien se es que entre mas rapido seas haciendo las cosas eres mas eficiente en tu trabajo y resulta mejor en todos lados, asi que mira esta pagina tal vez te pueda ayudar en lo que quieres, es una libreria de canvas y hace cosas maravillosas.
http://fabricjs.com/. Saludos.