Major refactor

IO:
* allow use of Julia IO for video input, but use avformat's
  own function for default file IO

  Some not-well-behaved video files have the video "header" placed
  at the end of the file.  When we open those files first in Julia,
  and then pass the IO file descriptor to libavformat, it can't
  find the header.  However, if we open the file directly with
  libavformat, it is smart enough to seek to the end of the file
  first and get the information.

* AV.open: open a file, return an AVInput
  * AV.openvideo(a::AVinput) - open AVInput for reading video
  * AV.openvideo(s::String) - open file for video-only reading

* Added playvideo() function

Utilities:
* Added av_pointer_to_field, use it to free malloc'd video buffer
* Use av_set_log_level to silence warnings.

Tests:
* Added TestVideos (automatic download of 5 videos)
* Added read tests
* Enable travis, add travis badge to README

Examples:
* Update examples/playvid.jl to work with new framework