Move filter to global memory, added inline access

Previous bug was fixed by passing a result image to the kernal. Since
the pixels were being computed in parallel, having a single image for
the source and resultant image was not appropriate.