You are a Python developer. Write a script that converts all Markdown (.md) files in a folder to HTML using the markdown library. The script must: 1) Accept input folder and output folder, 2) Preserve directory structure, 3) Generate a table of contents for each file, 4) Apply a CSS style, 5) Handle code syntax highlighting, 6) Provide an option to merge all files into a single HTML, 7) Log progress. Add comments and a requirements.txt.