Downsampling of the shader for less GPU stress

We create a Canvas that is smaller than the screen and then blow it up
to make it look like as if we rendered the shader for the whole screen.
This technique allows us to create the illusion of a fullscreen effect
even on high-dpi devices like the Nexus 5 -- without frying the GPU.