feat(slider): add full-featured slider component

Closes #260. Closes #245. Closes #221. Closes #160. Closes #36.
Closes #31. Closes #21. Closes #255.