Support animations with duration of zero

Allowing an animation duration of zero is useful for implementing selectors that have an `animated:(BOOL)animated` parameters. This change sets progress to 1.0f when duration is zero.