[RFC] Protect Player!

When I was looking at the action handling stuff re. the ACTION_PREV/NEXT_ITEM (other pull request) I came across the very many calls to the player from different places, and thought it wasn't very clean.

The idea is to remove direct access to CApplication::m_pPlayer, by making it a proxy (CApplicationPlayer) to the real player object. Additional benefits are:
- remove unnecessary null-checks e.g. when also checking IsPlayingXXX 
- calling CApplication::IsPlaying / IsPaused instead of player's equivalents
- locking of the player operations (thread safety)
- move player management logic out of CApplication into CApplicationPlayer