New categories

@ndonald2 Yeah, this is intended to merge.
I'm not sure this is solving any real problem. If you pass a duration of 0 to the normal animation methods, you get the same behavior. This forces you to use a longer method signature and import a separate category instead of a simple ternary:

`duration: animated ? kDuration : 0`