Correct Player.PlayPause behavior

In current implementation using play parameter as boolean won't force the playerspeed to 1 as it should.
This PR correct this so that using a bool parameter act as the toggle and provide the same behavior as GUI or EventServer.
CFileItem: extend Copy() with an optional "copyItems" parameter (true by default) to be able to only copy the properties of a list without the items
video library: fix handling of watched episode count in custom tvshow nodes (fixes #14097)
Merge pull request #2311 from Montellese/14097_episode_count

video library: fix handling of watched episode count in custom tvshow nodes
Marked DllDynamic::IsLoaded() as const
Added DllDynamic::GetFile() to complement DllDynamic::SetFile()
Merge pull request #2301 from Tolriq/CorrectPlayPause

jsonrpc: correct Player.PlayPause behavior
Revert "[AE/CA] - fix the matrix mixer by obeying a setpwidth of the number of output device channels (should fix mixing issues where user reported stereo files appear mono only and maybe some other strange things)"

This reverts commit 6353323f3e834d95fb17bc35794645ba1060c963.

The mixing unit is not the same as device. The output's in the mixing
unit doesn't match the device output. So the matrix it has internally
doesn't have anything to do with device outputs.
CoreAE: validate that matrix fit's in mixer size
CoreAE: make sure we zero out any left over output channels during mixing
[atv2-packaging] - copy our icon to TopRowIcon.png in case we are moved to toprow
Fix resume playback from playlist does not work (trac 13929)
[atv2] - if users diddle XBMC into the toprow with plist manipulation - prevent crash - but show our nice topshelf logo instead
Merge pull request #2293 from Voyager1/trac_13929

Fix resume playback from playlist does not work (trac 13929)