Move generic drawing functionality to base class and implement in DK code

Also some general cleanup and stylecop violation fixes.

This should be tested before we build a release package to NuGet.