Added an ImageWrapper class, so we can hide the DOM image from digest change detection
Changed a method name
Factored out a localStorage utility
userPreferences now uses the localStorage service
loaded promise now resolves to the ImageWrapper instance
Class comment and styling