Commit Briefs
add configure check for libmd; needed on some OSes for amused-web
On the BSDs the SHA1Init() and friends are part of libc, while on linux (and maybe other systems as well) we need an implementation of these function: libmd for example.
fix the test for getdtablecount
The configure ran it but wasn't present in the tests.c file. Will need to switch away from this all-in-one someday...
amused-web: first round of portability tweaks
We still need an implementation of SHA1Init() & co, which on linux is not in libc (but is available with the same APIs in libmd.)
amused-web: add websocket support; send forms via js if available
This allows amused-web to stay in sync using websockets (much like existing amused clients watch `amused monitor') and sends the forms in the background to avoid refreshing the page. Still missing is reopening the websocket, maybe blocking the UI in that case and showing the progress.
amused-web: centralize the imsg handling
Keep a copy of the playing queue, status etc. to render the UI without doing imsg in the render path.
don't reply with a STATUS on MODE change
This is to help amused-web. Change the ctl to send an extra STATUS after a MODE change to preserve the behaviour.
amused-web: split out css and js to their own routes
In the future we could apply some caching to these.