Image Widget: refactor to allow conditional loading of the styles

Use the new WP_Widget class
Move enqueue function inside the widget class
Wrap in a check to see if the widget is active
If you have page A and B with two different sidebars and this widget is only on page B will ```is_active_widget()``` still return true on page A?