server: Urlencode all parameters, use SHA1 for cached files

The base64 was uneccesary complicated in the API, and caused
filenames to become to long and having a shared prefix.
server: Update demo page
server: Minor tweaks to demo
server: Fix bug causing non-localhost inputs to not work
examples: Add a desaturation graph
Update README and CHANGES for release