Implement Transitions

Used with the Dispatcher, makes it easy to transition between
scenes without a sudden switch. A built-in FadeTransition helps
developers start with something until they wish to make their own.

Since they are part of the game loop, they can even be interactivate
and do everything that a regular Scene does.
Adjust tests for new Transition code.
Add simple transition tests for initial, push api.