Refactor post rendering

This branch moves the post compiling logic into the Post class (where it makes more sense).

This makes Post objects more self-contained and thus easier to use in different contexts (current plan is using them in gallery descriptions)

This is an item in #800