Fix setStackRoot crash when called with the same id (#5154)
When a Stack’s root was set with an id of one of the Stack’s current children, there was a crash
since the wrong elements were removed from the stack.
This commit fixes this by creating a new stack when setStackRoot is called, and destroying all ViewControllers from the previous Stack.
Fixes #5117
* Cleanup and reorganise playground app
* Separated tests into three categories
1. Layouts - layout specific tests and feature showcase
2. Options - options related tests; interactions between static and dynamic options, merge options etc
3. Navigation - general navigation features; Orientation handling, events, Overlay etc
* Fixed a few Android bugs
1. testID wasn’t applied on TopBar react buttons
2. static options were disregarded when creating initial BottomTab options
3. Trying to open a none existent SideMenu would result in a crash
* Fix e2e tests
* Fix lint
* Few fixes + split push from SideMenu test into two tests
* Fixes e2e