Add CSS transition support

Alright. I'm curious because any integration of a component should work whether or not its transitions are enabled/supported. In order to do that, I think the callback needs to always be true async, `setTimeout(fn, 0)` style, otherwise Zalgo will manifest from the race conditions.