ClockStateSink implementation

This PR builds on the issue reported in https://github.com/sharpdx/SharpDX/issues/330

It looks like the ClockStateSink interface was never correctly implemented in SharpDX. Following the advice of @xoofx, I implemented the ClockStateSink, SampleGrabberSinkCallback, SampleGrabberSinkCallback2, and VideoPresenter interfaces using the "Shadow Pattern" that other callback implementations use.

Using the contents of this PR, I was able to implement Video playback after creating a class that implements the SampleGrabberSinkCallback interface.

I tried to follow the coding standard and conventions that other Shadow classes used, but let me know if there's any changes I need to make or things I may have missed.