Add Windows support on best effort basis

Current 3.6.0 is not working with Windows. These are the main reasons:

1. Shellwords: it is designed for Linux shell and is not expected to work on Windows. This PR uses some of the common escape techniques discussed here http://www.imagemagick.org/Usage/windows/ instead of the Shellwords for Windows. This include the use of ^ and quote.
2. Path: Windows has some quirky way to handle path, especially with a space. This PR handles some of the common cases.

This PR aims to achieve the Windows support with no impact on API. i.e. user should be able to expect the same code to run on both platforms. However, this is done on a best effort basis, with commonly used cases covered. The Windows related logic will only kick in on Windows,not affecting the normal (*nix) logic.

This PR has all tests passed on Windows except for two edge cases that are omitted. For current master, most of the test fails on Windows
![capture](https://f.cloud.github.com/assets/608221/1466985/1a9c1508-457a-11e3-9121-2eb9a9e70df8.png)

This PR comes from the patch I've made to minimagick for my other projects to work on Windows, some of the logic might not be generic enough though.