Change the JavaScript API

- Add `hashchange` option
- Replace `selectedElement` property by `selectedElements` which is now an array
Fix typo in the JavaScript API
Add untested files