Canvas should always reflect its real size

This fixes problems when the canvas gets resized via CSS to always have the correct width & height.