Rewrote the code. (json configuration file support)

It now supports custom compile.json files to configure the compilations.