Using async IO for compile method

Hey, this is just a small performance enhancement, it switches the `compile()` method to using `fs.readFile` instead of `fs.readFileSync`. 

It still resolves the includes one at a time (in order), but this way the process can do other work while it's reading from the disk.