Added new ImageWidget to specifically cover image widgets. The fill() method is only placeholder right now so can't be used for mandatory fields because it doesn't actually do anything (bug in phantomjs).