Improve compilation script

Main changes:
* Various improvements to `make.m`, mainly for the Windows side:
  - use absolute paths
  - support additional options: test mode, dry-run mode, forced-compilation
  - optional GUI to show progress of compilation
* Fixed a bug in `clean` target of `Makefile`
* Add more patterns to `.gitignore`