New API for PlayerManager & PlayerContextManager

- PlayerManager is now responsible for managing players at a basic level, the concept of primary and secondary player is not introduced at this API yet
- PlayerContextManager is now responsible for managing the primary and secondary player, player contexts and coodinating the player contexts