remove bad practices

1.  never lookup location in the rendering loop.

    Looking up locations is slow.

2.  adjust canvas backstore to match size of canvas, not size of window.

    This means you can use the same code regardless of situation. Just
    setup your CSS how ever you want. If your canvas is inside some other
    container or it's set to 50% or whatever it will do the right
    thing.

3.  Don't use the resize event. 

    There are plenty of other reasons a canvas might change size. If you have a sizable
    column for example that your canvas is in sizing the column will not trigger a resize event.

Notes: Without adding CSS to the `html` tag chrome messes up with sizing the window vertically from the bottom