Re worked CaptureImplDirectShow

Moved things into header so that it can be derived for different
implementations.