Add crossfade

Here's support for a crossfade property with a test.

(This is mostly for me to get to know the codebase)