Add AssetPack::Preprocessors and refactored code