Moved BusyImage to separate class.

Moved the BusyImage class that was embeded in the DialogAnnotation class
out to its own separate class (it was also protected previously).
Renamed the class to be BusyImageAnnotation to adhere to correct naming
conventions. Also, added an auto-update flag to enable / disable
auto-updating. This is particularly useful to improve performance and
avoid updating during each rendering cycle. Instead, the doUpdateState()
can now be called externally to flag that an update should occur during
the next rendering pass.