source : http://stackoverflow.com/a/13243862
Canvas context : 'ctx'
run