Wait to show image until its loaded.
Wait to show image until its loaded.

Summary:
This is for https://app.asana.com/0/27216215224639/35151012564910

This hopefully fixes a problem where an image widget's URL is entered
into the editor and the item data is saved before the image is loaded.
This would previously result in an image widget with a valid URL (and
it would appear correctly in the editor), but when viewed in an
exercise it would look funky.

I'm unsure if this is a good idea, and I'm also unsure of what the
`silent` parameter is for. But hopefully my esteemed reviewers will be
able to tell me!

(I also fixed a lint error)

Test Plan:
A.1) Create an image widget in Perseus and enter a valid URL for it.
A.2) See that the image renders normally.
A.3) Check the the image widget's props in item data is good (through
     Developer JSON mode) by checking its width, height, and URL props.
A.4) Get a permalink to the page.
A.5) Reload the page
A.6) Repeat the check in 3.

B.1) Create an image widget in Perseus and enter an invalid URL for it
     (might I suggest `asdfasdf`?).
B.2) See that nothing changes in the preview.
B.3) Check the the image widget's props in item data is still the
     default (which is currently 0 width, 0 height, and empty string
     URL).

Reviewers: marcia, emily, aria

Reviewed By: aria

Differential Revision: https://phabricator.khanacademy.org/D18827

learningequality/perseus,abe4mvp/perseus,sachgits/perseus,chirilo/perseus,ariabuckles/perseus,ariabuckles/perseus,ariabuckles/perseus,sachgits/perseus,abe4mvp/perseus,alexristich/perseus,iamchenxin/perseus,daukantas/perseus,chirilo/perseus,daukantas/perseus,iamchenxin/perseus,alexristich/perseus,learningequality/perseus,ariabuckles/perseus