Implement the revision history widget

Implements the revision history widget which makes use of timelinejs.

I'm planning on doing a self review before this gets merged.