Custom Extensions

- middleware options now include a map for custom file extensions
- you can override the default behaviors of extensions using the map
- for example, you can make .html files render as swig templates