1. Added caching to SimulationMatch to allow different objective
function to use the same simulation results.
2. Added HTML to PDF conversion.