Add video decoding using FFmpeg

The main video thread should now decode the video stream it receives.
The decoded frames are ditched for now, what matters is whether or not the stream is actually decoded.
This needs testing. Call drone.connect_video(), it should repeatedly print "Decoded n frames", with n >= 0.

Also, improved the makefile. It now generates its own source files list, and automatically manages header dependencies for each source file.