GPUImagePicture: check that the memory layout is valid

Hi Brad,

I'm sorry, my previous GPUImagePicture pull request overlooked CGImages that have a padded row layout (i.e. row length > width * 4). I have added some additional checks for row length, bits per pixel and bits per component. These should all fit together to _this time_ give us a fast path in the event of CGImages without padding and in the correct format.

See the discussion in this commit about this issue:
https://github.com/BradLarson/GPUImage/commit/b662c2e479a6713e26a632ca908a477ed87acb62#commitcomment-4557862

I have tested this with images that both fail this new check, and were previously used incorrectly, and images that pass it and continue to work correctly. I haven't yet heard back from the @keremerkan, but hopefully he'll be able to confirm the fix too.

Best regards,
Karl