Feat: Add DSP pipeline details to stream information (#1875)
* refactor: add `is_grouping_preventing_dsp()`
* feat: attach DSPDetails to StreamDetails
* refactor: create `get_dsp_details()`
* feat: Attach DSPDetails of all grouped childs to StreamDetails
* fix: playergroups don't have a leader, so don't generate DSPDetails
* refactor: consolidate `dsp` and `dsp_grouped_childs` streamdetails
* refactor: add `get_stream_dsp_details`
* refactor: rename `get_dsp_details` to `get_player_dsp_details`
* feat: update `streamdetails.dsp` on group/ungroup