I'll consider writing one, but there doesn't seem to be much demand for it. Honestly, I really don't know much about running an HLTV server I've never run a one since bandwidth has always been a major concern for me.
I'll try to answer some questions with my own assumptions, which could be wrong, so take them with a grain of salt.
1. what hardware is required?
There's two ways of running a HLTV server as far as I know. A master server and a recast server. The master server connects and uses up one slot on the main game server and in exchange the master server itself allows the number of people you specify in the config to connect to it. Alternatively you can have other recasting servers to connect to the master server in order to increase the amount of spectators you can have. The only thing you need is to specify an additional slot on your main game server to allow the HLTV master server to connect and spectate.
2. What software is needed?
I think everything you need to run a HLTV server is already on your system. But you will need to configure it to do what you want. It also has "rcon" like privs that need to be specified.
3. How to install/setup HLTV?
No idea, haven't done it yet.
4. how to config the HLTV server
Same, haven't done it yet.
5. Customizations (like custom banners that a lot of HLTV servers use)
Ditto, no idea.
6. HLTV demos (how to record them, what is different from player-demos, and so on)
I'm assuming that the demos are recorded on the server, but to be totally honest I'm not completely sure about that. I think HLTV demos have all the data the server spits out so you can switch between any person at any time unlike standard demos which only show you what the person was looking at when he was taking the demo. If it's not that way, it should be