We should compile all files in parallel rather than waiting for each one to finish before starting the next one:

```c#
await Task.WhenAll(files.Select(async file => {
    ...
}));
``

We should do the same for LESS & JSHint.
In fact, we should factor out this method into a common base class for all three of them.