Using html5 canvas only, no javascript libraries.