add denon command line tool, abstract "device socket" module