API change

- Refactoring `state` to use an Object (hash)
- Removing `datalist.ready`, `datalist.refreshing`, `datalist.display()` & `datalist.set()` (not useful)
- Updating `datalist.refresh()` by removing redundant call to `observer.remove()` (happens from `element.destroy()`)