351-Rebase Attempt for ffmpeg stability fixes

zm_ffmpeg_camera.cpp was the biggest issue here as @Sune1337 had done some cleanup into functions and merge struggles to make sense of structural changes. Anyway I thought I would put this up here as an option to get #351 in.

I find sometimes rebase is a better option for a stale pull request as it reapplies the commits in the pull request to the current master, as opposed the the merge which brings all the changes since the pull was created into the pull branch.

Anyone who wants to check this out locally as the changed file view in Github is struggling with the structural changes also. https://help.github.com/articles/checking-out-pull-requests-locally/

If you work out how to merge #351 let me know and I can delete this request.