Add image preview #70

@FND though you probably don't like #70, could you review the JS? Thanks :)
that seems like a confusing variable name, as it doesn't actually refer to the text

also, below you're repeatedly evaluating `contentText.text()` - might as well cache that in a variable