Rework TemplateParam to work with newer Jade versions.

Jade included a breaking change in 0.31 . It prevented the template() function of TemplateParam from accessing it's own properties (`this` was == the global object).

To fix it I wrapped the whole thing in a closure and added a var to preserve the local context.

There's one more change in Jade 1.0.0 relevant to this project: !!! 5 has been deprecated for doctype html . I have updated the example accordingly.
Use JSON for the settings file

MD is nicer for the user, but doesn't let us specify anything apart from strings.
Don't set new root before the site hasn't finished building yet.

This way woods doesn't serve half-finished pages.
Remove unneeded regex, catch jade errors and display them instead of killing the server.
Don't lazy load available templates

Otherwise it's impossible to differentiate between text files that are the contentFiles and text files that are the description files for images.
Node API docs say utf8
Add an example of the caption functionality to the example site.