do some sanity checking on usernames so that we don't run into problems creating an invalid css selector out of it
fixes #29, implemented web audio api with a fallback to html5 <audio> tags if the api is NYI (IE, Firefox)