Reafactor and cleanup

I was playing with `rtc-quickconnect` and ended up refactoring it. I'm not sure if this style is to your tastes, and I did it for fun, so don't feel obligated to merge this. There *shouldn't* be any breaking changes.

Some additional API was added:
```javascript
var qc = quickconnect({
  // option to disable use of the url hashLocation, in case you want to communicate the hash in another way
  setHashLocation: false,
  // option to specify the hash instead of it being read from the url hashLocation
  hash: '1234567890',
});
// read the hash from the `quickconnect` object if you had it generate its own hash
console.log( qc.hash );
```