Implement RawChannel on Windows.

- add RawChannelWin class;
- move read/write buffer managing code to RawChannel so that it can be shared by both RawChannelWin and RawChannelPosix.
- refactor unittests.

TEST=raw_channel_unittests.cc

Review URL: https://codereview.chromium.org/166293002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254710 0039d316-1c4b-4281-b951-d872f2087c98
FileVideoCaptureDevice: tolerate slight variants of I420, fail more informatively, and fix a bug.

- YUV4MPEG2 defines multiple I420-like colorspaces, and their differences are
  minor (the location of the subsampled chroma; e.g. compare "4:2:0 - MPEG-1" to
  "4:2:0 - MPEG-2" in
  http://msdn.microsoft.com/en-us/library/windows/desktop/dd206750(v=vs.85).aspx)
  Instead of barfing on C420jpeg or C420paldv just pretend they're C420.  This
  makes ffmpeg-emitted Y4M directly usable without munging.
- When a token fails to parse as an integer, emit it to make it easier to see
  what went wrong (how I found the error above).
- Reverse a DCHECK typo that went the wrong way by mistake (apparently).

BUG=

Review URL: https://codereview.chromium.org/179833008

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254711 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 254711