Add build system and prepare to add Windows support.