Support multiple template directories

theme_dir is now a list which contains the user provided directory if given plus the packaged theme directory.

This is a proof of concept to see if the idea is sound - needs a bit work probably, tests at least.

Fixes #129