Reject images that are not on the assets domain or a relative path

(Paired with @jamiecobbett on this.)
I think `NoDangerousHTMLInTextFieldsValidator` will be a bit tidier if detection of disallowed images was in its own class (which probably ought to still live within `NoDangerousHTMLInTextFieldsValidator`):

```ruby
class MarkdownSnippet
  ASSETS_DOMAIN = 'assets.digital.cabinet-office.gov.uk'
  def initialize(value)
    @html = Govspeak::Document.new(value).to_html
  end

  def contains_disallowed_images?
    Nokogiri::HTML.parse(@html).css('img').any? do |img|
    uri = URI.parse(img.attributes['src'])
      next if uri.relative?
      uri.host != ASSETS_DOMAIN
    end
  end
end
```