added caching and refactored out the less transformer

This PR refactors out the less transformer to be it's own component and also enables proper caching of the compilation process.