A HTML5 <canvas /> based loading spinner, with .gif fallback