Moving selectPlaylist to PlaylistSelector in playlist-selector.js

This PR moves selectPlaylist() from videojs-hls.js to its own class in playlist-selector.js.
By doing so videojs-hls.js gets smaller and less cluttered. More importantly having a separate playlist-selector.js allows third-party developers to swap in their own selectPlaylist() implementations.

bandwidth is an optional parameter. Some unit tests punch in their own bandwidth values via members in videojs-hls.js. Moving forward we might want to change the unit tests such that we can remove the bandwidth parameter from the API.