Intelligent defaults for Transition types

Change the transitions algorithm in the following way:

* [x] Slide is the default transition type for iOS (if direction detected)
* [x] Scale is the default transition type for Android (if direction detected)
* [x] scale shouldn't start from `scale(0,0)`, but `scale(0.9,0.9)` or similar
* [x] use a more semantic definition for custom transitions: e.g.: `state.data.modal = true` => transition: cover, no navbar etc.
* [x] you can still set a custom transition with `state.data.transition` following the reverse/normal convention, but you won't really need it any longer