Implemented setProgress: animated:

Default animation time is 0.25 seconds. Doesn’t behave well if animated
progress is updated before current animation has finished.
Removed needless ternary operator

Don’t know what I was thinking there?!
Added comments
Renamed methods for consistency

Use ‘setText’ rather than ‘setString’. Also use ‘text’ rather than
‘label’ in the setFrame… methods.
Improved setProgress: animated:

Animation can now be altered whilst it runs without causing popUpViews
to jump about.
Added CALayer (ASAnimationAdditions)

Adds convenience method for adding animations to CALayer
Always update position when bounds change

Even if the popUpView is not currently visible the new position should
be calculated.
Observe initial value of self.progress

Using NSKeyValueObservingOptionInitial. Ensures popUpView is
initialised fully for initial progress value.
Return nil for NULL CGColorRef
Return nil for UIBezierPath if rect == CGRectZero
Refactored animation code

Used ASAnimationAdditions to reduce some boiler plate code when setting
up animations.
Adjusted timer in example

Update progress more frequently with smaller steps.
Merge branch 'animation'