play nice with non-empty SCRIPT_NAME

Mostly this is using bottle.url() instead of hard-coded paths. I changed the CSS to relative paths for the icons. I don't like tying the icons and CSS together like that, but I don't like dynamic CSS either. Maybe use LESS or something and compile the CSS as needed, handling SCRIPT_NAME at the same time, but that would be a separate pull request.