I tried a couple front ends and decided on Driveline because it has all the features you listed above, pretty much the same as what I need. It's also only got a limited following so far, but Clockwork, the developer is willing to work with people to add features. I bought one of those Joycon EXR USB steering wheel interface boards and wanted to get it to work with Driveline, and a couple posts later Clockwork had a new version of Driveline out that lets me toggle between HD Radio and Media sources, as well as tune up and down stations, or next song and previous song from my steering wheel controls.
What's real cool is you do not have to install it, just run it from the executable or shortcut, or just have it auto start at boot. that makes Driveline great to play with without worrying about corrupting your windows load with fluff.
I just made my first skin for Driveline, to customize it for my car, which is fairly easy to do with XML in notepad++. I would recommend trying it out and seeing if it works for you before installing something more invasive.