faster implementation of blur, with less downsampling and fewer texture lookups