Fix Image.test_keep_data test failing.

When an image is instantiated for the first time from a simple source like 'test.png', populate of ImageLoaderBase is never actually called, a second instantiation will trigger this call as part of logic I don't quite understand. The end result is that keep_data is not respected for the first call, but is for the second. This can be prevented by guaranting the call to populate during __init__.