Support opening URLs through FFmpeg
Minor API changes.

Fix some of the crufty way of handling our specific IO. Now have
specific functions for creating FFmpeg-backed IO as Readers and Writers
separately. Currently we require Go interfaces to implement Seeker,
because trying to handle all the edge cases where Go Readers/Writers
don't was adding a lot of weight to the internals.

We will now automagically wrap the given Reader/Writers with our
FFmpeg-backed versions because it's the easiest way.