Add XSL

Resolves issue 1411.

English only. Though we could specify per-language stylesheets later when we find a good way to manage the translations. Progressive enhancement.

cc/ @Kwpolska @ralsina 
getters and setters are not the way to go in Python!