feat(recursion): includes files recursively

Closes #1.

By wrapping the HTML processing logic in an infinite loop, we can make the task act recursively.

This means that if file A.html includes B.html, which includes C.html, the final output should contain C.html's content as well.

There is a test for this feature.