Make comments hard wrap to a line width limit
Bring explicit imports into consistent format
Move `writeHTMLStr` back into `toHTML` function
Remove the superfluous function with callback

This was many due to me porting from CoffeeScript to Haskell, and it isn't
necessary to have a callback for creating a directory.
Clean up `sources` function and make less dense
Pull out map of source links to `sourceTemplate`
Move map of table sections to `sectionTemplate`
Move if statement into function `multiTemplate`
Split up the callback to its own function

The `highlight` function was too big and ugly to look at, so making a
`mapSections` function was for readable and it pure -- which is an added
bonus.
Loosen up the density in map insertions
Merge branch 'refactor'

Still working on refactoring `inSections`, but this is the majority of what
needed to be rewritten for readability.