Media widget

Based on #1. Work in progress...
Oh yeah, image dimensions are fine to set like this. Just need to be careful to select a size from the resource that's going to be reasonably close.