fix memory access issues when working with CVPixelBuffer-backed framebuffer

Currently `GPUImageRawDataOutput` provides `rawBytesForImage` property for getting output data buffer, however accessing it may cause a crash if the texture is backed by `CVPixelBuffer` because
any reads fmust be preceded by a call to  `CVPixelBufferLockBaseAddress`.
This patch fixes the bad access issue (assuming that data processing is wrapped in calls to `lockFramebufferForReading` and `unlockFramebufferAfterReading`)

Besides there was a mistake with framebuffer reference counting: `lockFramebufferForReading` did
not really cause the retained buffer to be retained, so calling `unlockFramebufferAfterReading` afterward
caused a crash due to over-release.