WebMP: Add separate default profiles for different target platforms

Conflicts:
	Applications/MPExtended.Applications.WebMediaPortal/Controllers/StreamController.cs
	Applications/MPExtended.Applications.WebMediaPortal/Models/StreamModels.cs
Streaming: Change default Android profile to HLS
WebMP: Add cofiguration section for default profiles by platform
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'origin/master' into pr-webmp-profiles-for-device
WebMP: Support object chaining in DropDownListFor()
StreamingPlatforms: De-duplicate code, use consistent codestyle and fix regex

- Remove a lot of duplicated code in StreamingPlatforms.cs
- Add a few null checks in StreamingPlatforms.cs
- Fix some minor style issues for consistency with other MPExtended code
- Use tighter regexes in StreamingPlatforms.xml
WebMP: Set default profiles using ViewModel instead of ViewData

- This offers better validation of the chosen profiles and is cleaner in general
- Hide TV profiles when TAS is unavailable and media + music profiles when MAS
  is unavailable
- Also allow video profiles to be chosen for music streaming
WebMP: Remove last usage of default profile settings from WebMediaPortal.xml
WebMP: Make change player button text translatable
Merge branch 'pr-webmp-profiles-for-device'