Compile Solidity contracts with the Remix compiler, supporting multiple files, custom versions, and optimization settings