Working towards Windows build

This PR is for tracking the latest work on #103 and #134. It is not ready to merge.

@rcrowder Let's continue the discussion here.