* feat(subsonic): add Work/Movement response types and tag constants
* feat(subsonic): surface works and movements in Child response
* test(subsonic): verify works/movements JSON serialization
Fix G109 lint: use strconv.ParseInt with bitSize=32 to avoid potential
integer overflow; add JSON serialization test confirming omitempty on
optional sub-fields.
* refactor(subsonic): use number.ParseInt idiom in buildMovements
* refactor(subsonic): move work/movement builders to MediaFile methods
Introduces model.Work and model.Movement types with Works()/Movements()
methods on MediaFile. The Subsonic layer maps them to response types inline
via slice.Map, replacing the deleted buildWorks/buildMovements helpers.
* test(subsonic): cover populated works/movements in response snapshots
* test(subsonic): clarify empty-case name and assert JSON structurally